Beginning Git - Part 1: Introduction | Ray Wenderlich

Even if you’ve never used Git or Subversion before, you’ve probably practiced version control. Discover what version control is, and how exactly Git can help you with your source code.


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/4418-beginning-git/lessons/1

Hi Sam,

I just wonder how do you use git with Xcode. In this video tutorial you do everything via terminal.
How do you interact with git when you work on Xcode?
Do you use command line, initialise the git and create git ignore file manually or do you let Xcode does it for you?

Thanks,
Greg

Hi @grzehotnik

I have never really used git inside Xcode. Xcode 9 introduces a completely redesigned git interface inside Xcode, but I think it unlikely that I’ll switch to using it.

I’ve always used git primarily from the command line, or via an app called GitUp, which you can learn a bit more about at the end of the Mastering Git video series.

sam

1 Like

Thanks Sam.

I have one more question, what’s make your terminal window to show branches names, cross if there is something to commit, etc.?

Thanks,
Greg

Hi @grzehotnik

I use zsh as my shell, with antigen to manage plugins. Using the robbyrussell theme and the git plugin gives me those features. There are other ways to achieve the same thing—for example bash has some kind of git extensions you can use as well.

sam

Hi Sam.
Thanks for the great course.

I’m wondering If you can add some materials to come back to it as a fast review If someone want to do something and don’t remember instead of watching the while video and move forward and backward to get what he needs.

Thanks,

1 Like

Hi @ahmad_atef

Thanks for your kind words.

I’m curious, do you mean like a summary sheet? Quick ref of the commands we cover, what they do, and how to use them?

I haven’t planned to do that, but it’s definitely something that could be added, either now, or certainly when this course gets updated.

sam

Hi @samdavies
Actually ya, something like fast quick taken notes, so if you forgot something and you know that’s was discussed in the course, so it will be great If i can find something telling me this quickly without wasting time in searching in whole list of videos or to search it through the web.

I can help on this If you want.

Thanks,
Ahmad Atef

Hi @ahmad_atef

Thanks for the offer of help. I don’t have time to put something like this together at the moment, but if you would like to put some notes together, I can get it styled up and attached to the course.

If not, then we should be able to get something sorted next update pass.

Thanks

sam

I put together some notes that are on git
https://raw.githubusercontent.com/WillyScott/FlashCardsData/master/git.json
I think it covers 1-11 videos. It’s in Json. I also have a free app ‘SwiftCard’ in the App Store (it might be hard to find not a lot of downloads) or you can get the app on my GitHub page FlashCardsSwift. The app isn’t updated for swift 4 or latest Xcode.

The app can import the json file and create flashcards the you can practice on.

1 Like

This should be updated to explain Git in Xcode, command line based Git is becoming deprecated with time.

Hi @bbalthaz

There are sections on common GUIs for git in the Mastering Git series, which follows this one. It doesn’t include Xcode, and I do think it’d be nice to add a section on Xcode in the future.

However, I disagree strongly that command line git is becoming deprecated. Having a good understanding of how git works makes learning GUIs trivial. Understanding the same concepts directly from a GUI, especially a limited one, is significantly more challenging. The entire structure of this course is such that you learn the fundamental skills that are then easily transferrable to your GUI of choice, should you want to.

Hopefully we’ll be able to add something about the Xcode git GUI at some point in the future.

sam

Is there a Option B to GIT ?

I am perplexed by after all these years we still have the Model T here for version control.

I personally think it antiquated, cumbersome and irritating.

Although there are alternatives to version control, none has the uptake of git. Git is the most popular of the generation of version control systems that are described as “distributed” (DVCS). You can also check out mercurial which is another popular option.

If you want to compare how far we’ve come, and to check out some really cumbersome options, you could look at the precursors to DVCS—svn and CVS used to be very popular. They are centralised version control systems, and were considerably more challenging to work with.

As far as I’m aware, there is no magic bullet yet. I’m sure there will be a new generation of version control systems, but we aren’t there yet. Version control is a non-trivial problem, so the solution is likely to be somewhat challenging. I don’t think “antiquated” is necessarily a fair descriptor—usually things become antiquated when they’ve been replaced with more modern inventions. Much as you might wish it, that is not the case with git yet.

sam