项目开发-Git使用教程

Git是代码管理的利器,这里介绍一下使用 git 进行团队代码管理的一些步骤。以及关于 github 工作流的一些介绍。

 个人原创,版权所有,转载请注明原文出处,并保留原文链接:

http://www.embbnux.com/2014/07/12/git_user_guide/

一、 获取个人私钥和公钥

这部分适用于第一次使用 git 的人,已使用的跳过即可。

linux终端下:

ssh-keygen -t rsa
# 然后一直回车,或者设置下本地密码

会在~/.ssh生成id_rsa和id_rsa.pub文件,把pub文件重命名为你的用户名.pub文件发给管理员就可以

 mac下也是使用终端:

cd ~/.ssh
mkdir key_backup
cp id_rsa* key_backup  # 如果有旧私钥
rm id_rsa*    # 删除旧私钥
ssh-keygen -t rsa -C "youremail"

同样会生成id_rsa.pub文件,把pub文件重命名为你的用户名.pub文件发给管理员就可以

  window下:

需要先安装git客户端,下面讲.

二、 安装git客户端

linux下使用:

sudo apt-get install git

mac 一般自带了

window下有很多客户端,这里推荐msysgit发行版,下载完安装

然后启动git bash也是个终端,执行下面的命令:

ssh-keygen -C 'your email' -t rsa

一样会生成pub文件。

三、 使用 git

终端下:

#初始化
git config --global user.name "your username"
git config --global user.email youremail
#复制代码到本地
git clone git@github.com:embbnux/kails.git

#就可以在本地编辑代码了
cd git_project_dir
git remote ls # 查看远程仓库
# 添加一个名为 origin 的远程仓库
git remote add origin git@github.com:embbnux/kails.git
# 提交代码
git checkout -b new_branch
git add README.md
git commit -m '你的说明'
git push origin new_branch

上面是一个简单的示例,实际使用 git 开发时还需要注意团队协作的问题。

# 提交前合并主分支的代码到本地, 防止和主分支存在冲突
git pull origin master
#然后再提交
git add README.md
git commit -m '你的说明'
git push origin new_branch

四、git 分支

要进行团队开发不能一直在一个分支上提交,master 分支应该作为上线的版本。每个功能在自己的分支上开发,开发测试完后再提交合并到主分支,在 github 上即发起一个 pull request.

git checkout master
git branch new_branch #这句话新建了new_branch分支,基于master分支
git branch   #查看当前所有分支
git checkout new_branch #切换到新分支
touch new_branch.txt   #新建个文件
git add new_branch.txt  #添加新文件
git commit -m "new branch txt"  #提交到本地仓库,添加log
git push origin new_branch   #提交到远程仓库分支
# 最后不要自己合并自己的代码,像 github 提交 pull request, 再把 request 发给另一个人 review 完再合并,保证代码质量 
git checkout master  #切换到主分支
git merge origin new_branch #合并新分支到主分支

四、git 高级

合并 commits:
有时候在你的分支提交了几个 commit 单发现这几个 commit 属于同一个功能,所以就可以考虑合并这几个commits

git rebase -i HEAD~4 # 会打开一个文件, 开头包含了最近4个 commits
# 把需要合并的 commit 的开头的 pick 改为 squash,保存退出(esc :wq)即自动合并这几个 commits
git push origin new_branch --force # 把改动强推到自己的远程分支
# 修改最后一个 commits 的信息
git commit --amend

撤消操作:

使用 git 的好处是每个操作都有记录,可以很容易的撤消当前操作,回到之前的状态。

# 对于还没 add 的文件更改
git checkout -- file_you_change.txt
# 对于已经 add 未 commit 的更改
git reset HEAD file_you_add.txt
# 对于已经 commit
git reset -f commit_id # commit id 通过 git log 得到

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload the CAPTCHA.