第一步当然把代码Clone下来进进行管理
1
| git clone git@192.168.1.1:xxx.git
|
习惯性动作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| //当面代码有哪些文件修改了 git status
//当前所在分支 git branch
//更新代码 git pull
//查看提交记录 git log
//将新增的文件加入版本管理 git add . //全部加入 git add [file] //单个加入
//提交代码:建议每完成一件事都提交代码,注释很重要 git commit -a -m"我随意改一下,别生气"
//将代码推到服务端 git push
//从当前分支新建分支 git checkout -b dev git push --set-upstream origin dev //当这个分支需要推送到服务器时,须执行如下指令
//切换分支 git checkout dev
//将dev合并到当前分支 git merge dev
|
删除分支
1 2 3 4 5
| //删除本地分支 git branch -D dev
//删除远程分支 git push origin --delete dev
|
查看本地和远程分支
Tag
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| //新增tag git tag v2.2.0
//推送到服务器 git push —-tags
//删除tag git tag -d v1.0.0
//从服务器删除tag git push origin :refs/tags/v1.0.0
//checkout某个tag 变成一个新的分支 git checkout tags/<tag_name> -b new_branch
|
恢复到某个版本
1 2 3 4 5
| //首先,查看一下版本记录 git log //每次提交都写注释的好处来了
//挑一个版本号进行恢复 git reset –-hard 9aa51d89799716aa68cff3f30c26f8815408e926
|
单独文件恢复到某个版本
1 2 3 4 5 6 7 8
| //查看文件修改记录 git log -p /model/abc.xib
//恢复文件 git reset 9aa51d89799716aa68cff3f30c26f8815408e926 [文件路径]
//如查本地正在编辑且未commit这个文件,需要checkout一下 git checkout /model/abc.xib
|
直接在远程恢复到某个版本(一般很少用到)
1 2
| git reset --hard <commit-hash> git push -f origin <branch>
|
正在开发,须要去修改别的分支的BUG,但又不想提交当前代码
1 2 3 4 5 6 7 8 9 10 11 12 13
| //现在代码变成最后提交的版本,刚刚正在编辑的代码已经暂存到缓存区 git stash
//切换到另一分支修改代码 git checkout dev git commit -a -m"修改紧急的BUG" git push
//回到原来的分支 git checkout
//恢复现场,可以继续开心地coding git stash pop
|
暂时只想到这么多了,有更好用的场景求指点
其实更重要的是版本管理的策略和思路,具体可见文章 《Git分支管理策略》 《Git手册》