Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
pjcools
Active Contributor
I normally write about technical features around SAP Cloud Platform, the Portal service and other SAP topics however in this case I thought I would write about my experiences around GIT and how much I have learned and enjoyed the openSAP GIT course. I have worked through a lot of the OpenSAP courses but must say this is one of the best I’ve completed and how apt given openSAP's recent 5 year anniversary. I’ve found the openSAP GIT course amazing and it has opened my eyes to the way development teams can operate in a really efficient manner. This is an absolute MUST DO course for any one coding in SAP Web IDE. Let me also state that I’m not a developer as such although am trying to learn the trade a little. My background is more on the SAP functional side (22+ years) and of course SAP Cloud Platform and SAP Fiori however I do manage development teams so this course has been amazing.

OK – just quickly. The title of this blog I borrowed from arnaldo.cavazos  –  thanks mate for this one! I owe you one! Actually probably owe you more than 1. ?   

Over the last couple of years I’ve been leading development teams on major SAP Cloud Platform projects specifically using SAP Web IDE. We have used a mixture of BitBucket and the SCP Git as our tool of choice to manage the various app repositories and most of the time this has worked really well. But, I do know we have had instances where a number of us (ok, me) were confused about GIT. Some of the questions raised included: Which one is the remote repository? Do I select the Remote Branch in this case? What do the up and down arrows mean? Oh, no FastForward error again – how do I fix this? How can I tell what I coded in that commit? Do I update the Master branch now? These are only a portion of the questions that have been raised. Additionally, every time I needed to work with GIT I was wary that I did not really have a detailed understanding of the underlying options and the power that existed. I don't think I am alone in feeling this way. This course helped me with this, big time!  

I seriously did not think I would ever (in my lifetime) have the answers to these questions ? – but guess what I do!!!! Yeehah!!! And I have the openSAP course to thank for it. I am now the resident GIT expert – well I think I am anyway much to the amusement of my colleagues! I am also amazed at the amount of functionality within SAP Web IDE to manage development activities. I would be interested in knowing the percentage of features that are actually used – I know in my case (remember I’m not a developer as such!) I pretty much created local feature branches, coded the change then committed and pushed back to Develop branches in BitBucket and that was it. I estimate it was around 10% and that is being generous. Stash, Cherry Pick, Tag are just some of the features I had no idea existed. I’ve got to spend a lot of time in the Git Pane and Git History area and really liked the detail included on each commit. I can actually understand what is detailed and I am more confident now that I know what is going on. 

What I have also gained from the course is the vocabulary. I now know what a Fast Forward merge is (as opposed to ignoring the FASTFORWARDMERGE error I used to receive ?). The vocabulary is good but you must have an understanding of what each concept actually means – both together provide confidence in utilising GIT and using it to your advantage. I am also now familiar with all functions available in the SAP Web IDE – and there are a heap of them. I thought I would draw this – just to highlight how many functions there are available. This is also good for me going forward – prompters for the options available and when I would use which options. For e.g., if I wanted to retain files and have them staged then I would know that the Mixed Reset option would do this. This was mainly for my benefit but thought I would share my drawing.



Figure:1 My GIT & SAP Web IDE Learnings

I will not detail each of these concepts in detail as it is better to do the full course to gain the benefit and understanding of these functions. NOTE: If you are not doing the course now it will be available in the future as an online self-paced training course at agopi and I've included the link to the course below.  

At the start of the course I posted on Twitter that I was firmly at the Bargaining stage of GIT. I was not joking but I was definitely frustrated by this and I knew there was more to it which is why I did the course. Let me just explain this a little more and provide a little more insight to this. Before the course, I could create local branches but specifically used the PULL request only. I never dared looked at some of the other options. I then carried out my changes in SAP Web IDE, staged them (not that I knew what this really meant) and then committed and pushed the changes. I then went to my GIT tool (we used BitBucket) and merge branches there manually - I seriously had no idea the power inside the SAP Web IDE nor the full power of GIT. I did not draw out commits nor have a plan as to how we could possibly merge multiple feature branches into the mix so I know I was always hesitant to adopt this. So, I went on my merry way knowing only the one or two features - definitely Bargaining!



Figure:2 BEFORE view – Bargaining stage of GIT

Now that I have finished Week 3 of the course I now accept and fully appreciate the power of GIT. I cannot wait to apply my new found skills to development activities going forward. I have been amazed at what is possible. With this course it has allowed me to skip right past the Depression stage of GIT and move straight to Acceptance. I am now drawing out commit options and trying to work out the best way to go to more efficiently manage the code base and commit progress. The other big take out for me is the amount I can do in my local repository. The way the course structured this was brilliant. It gave me the confidence of managing code in my local repository and know that eventually when I did want to update the remote repository that I would have no problems doing this. Previously, I always worried about the remote repository being updated correctly with the changes. I am now so comfortable with GIT I’m telling my colleagues how to do GIT, which they are appreciating very much..... ? I would also like them to do this course so they too can be firmly planted in the Acceptance stage of GIT.

 



Figure:3 AFTER view – Acceptance stage of GIT

My next step along this journey is to update my LinkedIn profile with GIT Master added to my skills list….maybe I will wait until I complete the final exam to do this....…lol.

One of the other fun activities I did throughout the course was to draw and I totally agree that sometimes this just makes things clearer and helps with knowing what the next step is whether that be a Fast Forward Merge, 3-way merge or Rebase. I totally agree and would suggest that development teams do this very thing. If you don't have a drawing mechanism handy then there is assistance in the Git History Pane - this is a really great feature to try and explain what has taken place across 1 or more branches and provides alot of information on commits. Will definitely be doing both of these things going forward.

Here is an example of the Rebase example that I compiled on my iPad using the Paper application.



Figure:4 Rebase Example – My view

I will finish off by detailing one of the best practices covered in the OpenSAP course which I will keep front and centre in my mind when developing in SAP Web IDE using GIT. I detailed this in Figure 1 also.
“Don’t just act; always understand what you are doing to your local (and remote) repository, and why.”   (Arnaldo Cavazos - 2018)

All of the best practices covered were great but that one resonated with me the most and definitely great advice for anyone using GIT. It resonated with me because I did just act previously, I was performing functions but did not really have the base understanding of what was taking place to both of my repositories. I am really grateful that this course was offered and excited as I can now be confident with GIT.

If you did not start this course you can view the lectures anytime (even on the plane, if you use the offline functionality in the openSAP app). If you just want to learn, you can just get stuck in. If you wish to gain certification in this course you will need a re-activation code (even better if you received a voucher for the OpenSAP 5 years anniversary). I would definitely suggest doing this one. It has been brilliant. Check it out here -> https://open.sap.com/courses/git1. The presenter arnaldo.cavazos  was one of the best as well – really engaging and interesting. It was really fun as well.

Go ahead, do yourself a favour and sign up now!

Thankyou agopi  and thanks for reading!
17 Comments
moyalynne
Active Contributor
Hey openSAP and arnaldo.cavazos!  Do you see this? A finer success story was never written!

Phil thank you so much for sharing this incredible review! You say you’re not really a developer — maybe that’s what it takes to shine such clear light on a topic: being an “outsider.” Clearly you ARE an artist, and Arnaldo, a poet. So glad you two (and we) came together:)

 
pjcools
Active Contributor
0 Kudos
Thanks Moya, appreciate the feedback. It was fun writing it and has been great fun doing the course.

 
arnaldo_cavazos
Employee
Employee
Phil - thanks so much for taking the time to write this post, and for putting in the effort to get the most out of the course. Because Git is so important to SAP Cloud Platform development, being in the 'Acceptance' stage of Git increasingly is going to be a non-negotiable for many developers and functional people such as yourself. Here's hoping that this blog entry causes many developers to invest in the course, move into the 'Acceptance' phase, and consequently to make their SAP Cloud Platform development experiences orders of magnitude more productive - and fun!

P.S. your drawings are excellent - I only wish I could have drawn that well during the course lectures!
MikeDoyle
Active Contributor
Well said, phil.cooley. I haven't finished the course yet but I've seen enough so far to rate it as outstanding.  Of all the openSAP courses I've consumed this one has the biggest potential to help developers improve their productivity.  GIT is everywhere! It's already helped my understanding a great deal and, as I say, I haven't finished it yet.

I started with JavaScript after ABAP and Java and so GIT was new to me.  I think other devs with a similar background will get a lot from the course.

It isn't just the excellent lectures from arnaldo.cavazos, I think the course itself is well targeted and well conceived.  There are a lot of GIT resources out there, but not focused on using Web IDE as the client.  In addition, the marketing-ometer shows a reading of zero (i.e. no marketing content).

I think we should make it clear that anyone can view the lectures anytime they like (even on the plane, if you use the offline functionality in the openSAP app).  The only need for the re-activation code is if you want to gain certification for the course. If you just want to learn, you can just get stuck in.

 
pjcools
Active Contributor
0 Kudos
Thanks Arnaldo and totally agree. The projects I am involved in rely heavily on developers being in the 'Acceptance' stage of Git - mostly to meet the time deadlines. In my mind, any developer on a major project involving SAP Web IDE needs to do this course - almost a pre-requisite.

Thanks for the praise on the drawings - I draw a lot to understand concepts and definitely helped me during this course.

 
pjcools
Active Contributor
0 Kudos
Thanks mike.doyle4 - agree with all of your comments. Yes I probably did not make this clear on the post that anyone can view the lectures anytime they like. Will provide an update to the post to say this exact thing so it is clear. Will also clarify the re-activation code - you are right.

Thanks for reading by the way!

 
Dear Phil,

Thank you very much for your great blog about the openSAP course SAP Cloud Platform Version Control with Git.

My team and I are very thankful to hear that you rate this course excellent and that it was helpful for you.

Honestly, what else matters than if our learners benefit from learning what we teach, that they feel it is a good time invest into their (professional) future? This is what we are aiming for and what we are passionate about.

The kudos go in a first way to our experts, in this course Arnaldo Cavazos who worked very passionately with us. As well as the openSAP course project manager Michael Pflanz and all other team members who always work in the background to keep the courses and platform up and running ?

Happy learning!

Michaela
fred_verheul
Active Contributor
After just finishing the bonus lectures on Gerrit, what else can I say than "+2" ;-). Great blog post (saves me one) and I totally agree: one of the best Open SAP courses ever made (at least in the last 5 years).

Thanks so much arnaldo.cavazos for preparing and teaching all this stuff!

Fred
pjcools
Active Contributor
0 Kudos
Thanks Michaela - appreciate the feedback and definitely a pat on the back to everyone involved with OpenSAP and the courses that have been provided over the last 5 years. I have said in other posts that when I started with SAP (in 1996!) alot of this was not around so the amount of information that is shared by SAP (e.g. RDS material) as well as the OpenSAP courses is seriously amazing. AND most of it is FREE which is even more amazing!

Well done to the extended team and thankyou for reading and commenting!

Thanks

Phil
pjcools
Active Contributor
0 Kudos
Thanks Fred for the nice feedback and agree with your statements. The hardest thing I find is time....to do all of the openSAP courses I want to do and loved the idea about reactivating courses. Brilliant!

Thanks again for reading my blog post and commenting!

Thanks

Phil

 
arnaldo_cavazos
Employee
Employee
My pleasure, Fred. I'm really glad that the course was helpful - and enjoyable to you. I'm also really thankful to SAP and openSAP for giving me a chance to do this!

Best regards,

Arnaldo
matthiasbraeuer
Participant
Good blog post, Phil. It's great to see that Git is finding more acceptance in the SAP development world (outside of Hybris Commerce obviously, where it's been the de facto standard VCS for many years). I remember a keynote address by SAP Mentor DJ Adams (@qmacro) at the Architect & Developer Summit 2014 where he introduced a Git-based approach for Fiori development bevor the Web IDE even fully supported it.

And even though Git has been around for so long, I still find Java developers who can't answer questions like "What's the difference between rebase and merge during a pull?" in my technical interviews.

In addition to the openSAP course, I think the tutorials by Atlassian (https://www.atlassian.com/git/tutorials) are excellent to learn the concepts and command line syntax.
albanleong
Contributor
I agree 100% with phil.cooley especially on the following quote
It resonated with me because I did just act previously, I was performing functions but did not really have the base understanding of what was taking place to both of my repositories.

I definitely have a better understanding of the terminologies as well as different approaches to Git after taking this course. Thanks, arnaldo.cavazos for putting together such a well-structured course to introduce Git to someone like me that's been so used to the centralized way of doing things in the ABAP world.

I am proud to be one of the 872 learners to have completed this course with a Record of Achievement (though I have to admit, I barely made it... the questions were kind of tough for me. LOL)
pjcools
Active Contributor
0 Kudos
Thanks Matt, appreciate the feedback and the additional information re: Atlassian tutorials. I will check them out when I have time ;-). Interesting on the Java developers as this is firmly in this space so understanding Git would be an absolute must.

 
pjcools
Active Contributor
Thanks alban_leong for your comments and great that you now have a better understanding, I know I do. Yes, I was also one of the 872 learners to pick up a Record of Achievement - really great course.

 
VitorBrevilieri
Explorer
0 Kudos

@arnaldo_cavazos was great at creating and presenting the openSAP course SAP Cloud Platform Version Control with Git (https://open.sap.com/courses/git1/).

Although it was ilustrated on SAP WEB IDE, the matter is still highly relevant as he explains Git Basics so well, guiding us towards Acceptance, and I would say more, towards Enthusiasm. Thank you so much, Arnaldo!

But we have to be disappointed with SAP, because openSAP format was much better for me than SAP learning is up to now. And we must be angry with SAP for retiring https://open.sap.com/courses/git1/. Course content is not available any more. I want to believe that it was a huge mistake and I would suggest SAP to make https://open.sap.com/courses/git1/ course content available at SAP learning, at least... and still hopefully waiting for the new course "Version Control with Git, by @arnaldo_cavazos". While it is yet not created, is there any other place that we could download the full course content of the original course?

arnaldo_cavazos
Employee
Employee
0 Kudos

Thanks @VitorBrevilieri ! So glad that you still remember the class and that it had a meaningful impact.

Sadly, to my knowledge this course content has been retired, which makes since SAP Web IDE, the platform on which it was taught, is also being fully deprecated in favor of SAP Business Application Studio (which is a really nice environment, btw). Who knows, maybe if grass-roots demand is high enough I could recreate the class on the new platform? 😉

Labels in this area