项目中SVN用的比较多,最近用Git也只是一直停留在commit
,push
。记录一下用过的命令。
回滚整个版本库到指定版本
#先查看指定版本的版本号
git log
git reset --hard commit-id
git reset --hard 82bb80c9ea80b35377ac018f86dfc220670e9699
回滚部分文件到指定版本
git checkout commit-id files
git checkout 82bb80c9ea80b35377ac018f86dfc220670e9699 app/Http/Controllers/Controller.php
解决冲突
最烦人的事情就是冲突了
git status #查看冲突文件
git mergetool #通过合并工具来查看冲突内容
git commit -a #合并完成以后,提交全部内容,保存退出
git push
查看某个版本改变的内容
git show commit-id
下面显示的是本次修改的部分。
查看当前分支
git branch
查看所有分支
git branch -a
切换分支
git checkout 分支名称
合并分支
先切换到需要合并的分支git checkout master
,例如主分支master,然后执行git merge dev
[root@VM_0_3_centos]git checkout master
M storage/framework/sessions/M2bI0IwKicSqIu9685MlhlQx7yK0VTU6ut5wYL2M
切换到分支 'master'
[root@VM_0_3_centos]# git merge dev
更新 d5bd4d4..d4e81ca
Fast-forward
readme.md | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------
1 file changed, 107 insertions(+), 36 deletions(-)
放弃本地修改
# 下载远程仓库最新内容,不做合并,相当于强制覆盖本地
git fetch --all
# 指令把 HEAD 指向 master 最新版本
git reset --hard origin/master