Starting developing in Swift: Using GitLab with XCode

Xcode_iconAs showed in my previous post I have set up a GitLab account so I can host my Git repositories there. In this post I will show how you can combine XCode (v7.1) with GitFlow and GitLab. In fact I will end up to use both XCode (for programming) and the Terminal (for my GitFlow) but that is the same when I am developing Java. In that case I also prefer the prompt most of the time for my (basic) Git stuff.

It takes the following steps to setup your project:

  • Create the project in XCode
  • Create the project in GitLab
  • Link XCode project to GitLab project
  • Init Git Flow

Each step will be showed in more details next.
Create the project in XCode
This is the most easy part. Just create a new project in XCode and make sure that Git is enabled in the project:
Screenshot at Dec 09 15-16-29
Screenshot at Dec 09 15-07-20
Screenshot at Dec 09 15-17-05
Create the project in GitLab
Next step is to create a corresponding project in GitLab. This is also quite straightforward:

Screenshot at Dec 09 15-27-12
When the project is created copy the url to the repository:
Screenshot at Dec 09 15-28-25

Now we have two separated project so lets connect them in the next step.

Link XCode project to GitLab project
In this step we connect the two projects together by setting the remote URL for the local Git project. This means that by pushing the local repo to the remote one it ends up in our GitLab repository we just created. To ‘connect’ these two repositories open the ‘Source Control’ menu item in XCode for our new project and navigate to the settings:
Screenshot at Dec 09 15-34-30
Then select ‘Remotes’ and choose the option to add one:
Screenshot at Dec 09 15-35-18

In the popup fill in the name of the remote repo (default called ‘origin’) and the url you copied in GitLab for the new project:
Screenshot at Dec 09 15-37-01

Now you can commit and push your changes to the remote repository from XCode by selecting first ‘Commit’ and then ‘Push’ in the ‘Source Control’ menu:
Screenshot at Dec 09 15-45-38

So now we have XCode and GitLab connected. It’s time to put some Flow into it.

Init Git Flow
Open the Terminal in Mac and browse to the ‘MyGitProject’ directory. Execute the command:

git flow init

to initiate gitFlow for this project:
Screenshot at Dec 09 15-53-37

Now push the changes either in Terminal or XCode to the remote server. As you can see we are now working on our ‘Develop’ branch:
Screenshot at Dec 09 15-58-09
Screenshot at Dec 09 15-57-21

That’s it. If you look into GitLab again you will see our project has now two branches:
Screenshot at Dec 09 16-29-21

The way to go now is to create a feature branche in the Terminal with

git flow feature start SetupStoryBoard

like this
Screenshot at Dec 09 16-32-46

Now make your changes in XCode, commit them and when you are done finish the feature with

git flow feature finish SetupStoryBoard

and push the changes in the develop branch to the remote server.

Lots more of Git fun with XCode can be found here, here and here. More info why GitFlow with iOS here.

About Pascal Alma

Pascal is a senior software developer and architect. Pascal has been designing and building applications since 2001. He is particularly interested in Open Source toolstack (Mule, Spring Framework, JBoss) and technologies like Web Services, SOA and Cloud technologies. Lately he is having great fun by building iOS apps with Swift. Specialties: JEE AWS XML/XSD/XSLT Web Services/SOA Mule ESB/ WSO2 ESB Maven Cloud Technology Swift/ iOS
This entry was posted in Git, Swift, XCode and tagged , , , . Bookmark the permalink.