Phenmod Zhu's Blog

注意你的注意力

用 Git 做版本控制

简介

Git是个分布式版本管理系统,本地自己的机器上有代码库,远程服务器上也有代码库。每个人要做的事情就是把自己的代码提交到本地,再把别人提交到服务器上的最新代码拉到本地,修改冲突之后,再将最终的正确代码再推送到远程服务器上面去。多从这个概念来理解,很快就能上手了。

git、ssh配置及bitbucket账号设置

mac系统有默认git,可以直接使用,从命令行运行以下命令可以见到当前git的版本。 git –-version

为git设置ssh

  1. 运行命令:ssh-keygen ,会让输入名称什么的,直接回车三次即可。运行命令后,出现 ~/.ssh 文件夹,里面有两个文件,分别为 RSA 的公钥和私钥,将公钥文件 id_rsa.pub 里的内容拷贝出来。
  2. 当前我们的代码托管在 bitbucket.org 上,需要你注册一个bitbucket.org账号。
  3. 进入 bitbucket 的个人账户管理页面,找到 “SSH Keys",点击 "Add key",将第一步中 id_rsa.pub 里的内容粘贴进去。

参见:

试用一下

配置完成之后自己新建个工程传到 bitbucket 上去,并且试用一下其基本功能。

我们最常用的就是下面这几个命令:

1
2
3
4
5
git add .                          # 如果有新添加的文件,将这些文件添加到本地版本库
git commit -am "changed something" # 然后将代码提交到本地代码库
git pull origin develop            # 把服务器代码库上 develop 分支的最新代码拉下来,自动合并到本地代码库的 develop 分支
……                                 # 如果有冲突,修改冲突代码,然后再次 commit
git push origin develop            # 将本地develop分支的代码提交到服务器的 develop 分支

有了上面这四个,基本的功能就可以实现了。

从服务器上拉下最新代码之前,如果不想提交当前代码,可以这样:

1
2
3
git stash                   #将当前工程暂存
git pull origin develop     #更新远程服务器上的代码到本地
git stash pop               #弹出刚才暂存的当前工程,合并代码

推荐教程

  1. Git Magit:很简单很优秀的一个入门教程。
  2. Git 教程:另一个浅显易懂的教程。
  3. 图解 Git:常用命令的工作原理,有助于透彻理解。
  4. Git 详解:比较全面的介绍了Git的使用。
  5. Pro Git:git官网上的书,覆盖全面,深入浅出,原理介绍得透彻。推荐通读。
  6. Git Community Book 中文版

分支管理方案

Git 鼓励大量使用分支开发,但是分支多了容易乱,我们使用一套比较成熟的分支管理方案 git-flow,详情参见

使用 Git-flow