Using Git and GitHub on Mac.
感谢
创建本地的Gitlab
安装Git
在shell中安装Git。使用Homebrew直接安装Git即可,命令为: $ brew install git
将自己的程序加入Git进行管理
进入到自己程序的根目录。
初始化Git目录。使用命令:
$ git init
进行初始化。设置自己的git信息
$ git config --global user.name "yourname"
$ git config --global user.email "youremail""
编写**.gitignore文件。
touch .gitignore
.gitignore文件的作用是,设置不需要提交的文件。如IDE的配置文件,编译后的文件等,都需要加入到.gitignore**文件中管理以确保不提交。详细的配置可自行查询,或者使用我的。向git仓库中添加源文件。
$ git add .
$ git commit -m "Initial commit"
这样应该就完成了向本地Gitlab的第一次提交。重启Xcode后,Source Control下的选项应该都可用了。
关联Github
由于我之前在本地配置过一次Github,昨天换了新账号后再使用,一直各种出错,查询了各种官方文档,折腾了很久才最终搞定,所以这部分写的详尽一些。
与Github关联,有两种方式,SSH方式与HTTP方式。SSH使用证书进行管理,配置好后,每次提交无需再输入用户名密码,本文主要讲解SSH方式的配置。
这一步的操作前,需要先完成上一步的创建本地的Gitlab。
注册Github并创建自己的repository
在官方网站注册Github账号。
注册完成后,点击右上角的 + ,选择New repository创建自己的repository。
创建完成后,进入创建的repository,记住自己的Github id与repository id。
生成并关联本地的SSH密钥
需要在本地生成RSA密钥,并与Github网站进行配对。
这一步比较关键,主要参考的是官方指南。
查看是否已有SSH key。执行命令:
$ ls -al ~/.ssh
,如有,则备份删除。如无,则继续执行。生成密钥。执行命令:
$ ssh-keygen -t rsa -C "your_email@your_email.com"
,注意替换。会提示输入保存文件的名字,以及密码。文件名字可不选直接回车,系统会默认生成名为id_rsa的相关文件。
将生成的密钥添加到ssh-agent,使用如下两个命令:
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa
执行命令:
$ ls -al ~/.ssh
,可以看到有id_rsa和id_rsa.pub两个文件。打开id_rsa.pub文件,并复制下全部内容(注意不要多复制空格)。也可以使用这个命令进行复制:
$ pbcopy < ~/.ssh/id_rsa.pub
登录Github网站,登录后,进入Setting—SSH keys—Add SSH Key,将复制的内容添加至此。即可完成SSH key的添加。
测试一下。输入命令:
$ ssh -T [email protected]
,如果出现如下提示,则说明成功了。Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
提交代码至Github
最后一步,终于可以将代码提交到Github了。
添加你的Git地址。在终端中执行如下命令,注意替换your-github-id与your-repository-id
$ git remote add origin [email protected]:your-github-id/your-repository-id.git
上面的origin是为远程的Github repository在本地定义的用于关联的别名。添加完成后,可以在Xcode的Source Control—your project name—Configure your project name—Remotes看到已经添加的Remote repository。
提交至Github的master分支。执行如下命令:
$ git push origin master
上一步提交时如果失败,提示冲突,则先将远程的内容先pull下来后再重新push。很多教程没有提到这一点,我就是在这里耽误了很久。
$ git pull origin master
$ git push origin master
这样,我们就完成了至Github的提交。进入网站中查看自己的repository,应该就可以看到自己的源代码了。
日后的提交
可以通过命令行提交:
1 |
|
也可以通过Xcode的Source Control中的Pull与Push命令同步或提交。