git工作常用命令行应用场景

673 阅读1分钟

git commit,git push,git fetch,这些太简单了,就不解释了

1、dev切换到别的分支release去修改bug,但是要保留dev的更改

(1)、git commit 

dev分支 commit,不push

(2)、git stash

dev上执行即可切换到release了

git stash save '备注信息' //dev上执行

恢复?,先切回到dev分支,再执行

git stash list //dev上执行,查看stash list
git stash apply stash@{0} //dev上执行,恢复操作

git stash clear清空所有的stash list //dev上执行

2、dev分支代码合并到master

git merge

先切换到master分支,再执行

git checkout master
git merge dev

若合并分支时提示“Already up-to-date”

在使用Git把当前分支合并到master提示“Already up-to-date”,但当前分支和 master 分支代码不同步。
假设当前分支是:dev,主分支是:master。
解决方法:

git checkout master;
git reset --hard dev;
git push --force origin master

3、dev的代码合并错了,需要回滚到合并之前的状态

git reset

分支:dev(主分支),feature(被合并分支)

git checkout dev
git reflog 
git reset --hard version

git merge feature //在dev分支上执行,合并feature代码到dev

查看git记录


“d58fe71”是合并的记录,若想撤销此次合并,则需将版本回滚到“4a98274”版本

此时再查看记录


执行回滚操作:

git reset --hard 4a98274

提示“HEAD is now at 4a98274 ”表示回滚成功,此时再查看git history则会发现dev分支上合并记录了,而且代码也回到了合并之前的状态。