Synchronizing GitLab with a(Windows) PC
Once you have a GitLab server up and running, you will need to be able to load and save your repositories to it. Since I have a repository already locally, the first step is to suncrozie my GitLab server with a local copy of my code. Once completed, I then want to have Android Studio point to it.
Create a Project on GitLab from a local Repository using TortoiseGit
This is done by first creating a repository on the GitLab server with the same name as it was locally. I used “Bubbles” as it was the same name as before. Once that is complete, the GitLab server will generate useful comments 1) how to create a ssh key and 2) how to Import an existing project.
The SSH Key:
Well, remember I generated my SSH key by using the puttyGen on one of the first posts. I was able to go to ~/.ssh/authorized_keys and see it. Using putty, on my AWS server I typed
# cat ~/.ssh/authorized_keys
It started with “ssh-rsa” and ended with the “StoneMillEluav” – I was able to simply copy the text into the ssh keys setting in GitLab. This setting can be found by going to “Profile Settings” and choosing “SSH Keys.”
–
My local .git/config looked like this (I edited my files to not have all my personal info between the {}):
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = git@www.example_domain.com:{gitlab_username}/Bubbles.git
fetch = +refs/heads/*:refs/remotes/origin/*
puttykeyfile = C:\\Users\\{Windows username}\\{rest of the path}\\StoneMillEluav.ppk
[branch "master"]
remote = origin
merge = refs/heads/master
My global .gitconfig looked like this(I edited my files to not have all my personal info between the {}):
[user] name = Greg S email = myEmail@gmail.com [push] default = simple
Tortus git was still pointed to the server with the same name as “Bubbles.” I CDed into the local “Bubbles” directory and right-clicked “TortusGit->Settings.” I verified the settings matched. I then did a git->push to the repo.
All of my files were uploaded successfully, but as I expected, none of the old Issues or milestones were saved. The reason for that is that info is stored in the database on the AWS server (not in git).
Create a Repo on GitLab and Check it out Locally (without Android Studio)
After creating a default “Jack” project on GitLab, I created a README.md using the links on the webpage.
In GitLab, on the project homepage, there is both an http, and an ssh link.
TortiousGit, simply adds a context menu to the right-click menu in Explorer. I was simply able to select “git Clone” and point to my new URL on the GitLab server.
I used the ssh link and added my existing ppk. Much easier.
The command line version to create a new repository is as follows:
git clone git@www.example_domain.com:{gitlab_username}/Bubbles.git
cd Bubbles
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Android Studio and GitLab (without ssh)
Android Studio does not seem to have a way to use the public/private key (easily). As such, I simply went to VCS->Checkout from Version Control->Git and posted the projects URL using http. While it is not the safest because it uses unsecured passwords, it allows me to move forward tonight even if I am not as integrated with GitLab and Android Studio as I would have liked.