使用git进行版本管理
小狼@http://blog.csdn.net/xiaolangyangyang
一、拉取远程代码
git clone ssh://xxx@xx.xx.xx.xx:xxxx/xxx/xxx/xxx
二、创建本地分支,创建的新分支内容与当前分支相同
git checkout -b dev_local
三、编辑和提交到本地分支
git add .
git commit -m "xxx"
四、查看本地分支某次commit
git show commit-id --stat #查看该次提交文件
git show commit-id filename #查看该次提交某个文件修改
git show commit-id #查看该次提交全部文件修改
五、切换到本地分支某次commit,该操作会新建commit-id分支
git checkout commit-id
六、回退到本地分支某次commit,该操作不可逆,操作时需谨慎
git reset --hard commit-id
七、合并本地分支多次commit
git rebase -i commit-id #commit-id为需要合并commit的前一次commit
除第一行以外的pick改为squash,然后wq,这时会自动跳转到git commit --amend,继续wq
rebase中途如要取消rebase,使用命令
git rebase --abort
八、在master分支上同步远程库代码
git checkout master
git pull --rebase
git checkout dev-local
九、将master分支代码marge到dev_local分支
git checkout dev_local #切换到本地开发分支
git merge master #合入master分支代码
十、将dev_local分支代码push到远程master分支
git push origin HEAD:xxx/xxx/xxx
十一、查看和删除本地分支
git branch #查看本地分支
git branch -a #查看本地和远程分支
git branch -D branch_name #删除本地分支
十二、git stash使用
git stash (save "message") #保存工作区
git stash list #查看工作区
git stash show (-p) #显示工作区的改动
git stash pop #恢复工作区,与apply + drop一样的效果
git stash clear #删除所有缓存的stash
十三、git merge冲突解决
1、将本地分支dev_local代码commit
git add .
git commit -m "xxx"
2、切换到master分支
git checkout master
3、拉取远程代码
git pull --rebase
4、切换到本地分支
git checkout dev_local
5、merge代码
git merge master
6、查看冲突文件
git ls-files -s
0 : 合并成功
1 : 分支共用文件
2 : 当前分支文件
3 : 远程分支文件
7、其他查看冲突文件的方法
通过git status查看发生冲突需要修改的文件
代码中查找'<<<<<<< HEAD'
冲突代码解释:
<<<<<<< HEAD
本地代码
=======
远程代码
>>>>>>> branch_name
8、commit修改后的代码
十四、使用git打patch
1、git diff >> xxx.patch
2、git apply xxx.patch