记录一些项目开发时需要使用到的git命令
合并分支:
上述命令表示将A分支合并到当前分支。
git merge --no-ff A
将A分支合并到当前分支,但是明确指定不使用"Fast-forward"的模式进行合并。
git merge --ff-only A
复制原分支代码到新分支
1、切换到原分支
git checkout oldBranch
git pull
2、从原分支复制到新分支
git checkout -b newBranch
3、将新分支的代码推送到远程服务器
git push origin newBranch
4、拉取远程分支的代码
git pull
5、关联
git branch --set-upstream-to=origin/newBranch
6、再次拉取代码
git pull
Git合并某个分支的一个commit到另一个分支
例如要将A分支的一个commit合并到B分支:
首先切换到A分支
git checkout A
找出要合并的commit ID :
git log
例如
0128660c08e325d410cb845616af355c0c19c6fe
然后切换到B分支上
git checkout B
然后就将A分支的某个commit合并到了B分支了
git cherry-pick 0128660c08e325d410cb845616af355c0c19c6fe
暂存修改
查看保存的修改
git stash list
保存修改
git stash
git stash save 'message...' //保存并增加注释信息
取出保存的修改
git stash pop
git stash pop --index
* 恢复指定的进度到工作区。index 从 0 开始
git stash pop stash@{1}
* 恢复指定的进度到工作区。stash@{1} 是通过git stash list命令得到的
* 通过git stash pop命令恢复进度后,会删除保存的stash记录。
恢复保存的更改,但是不删除保存的更改
git stash apply [–index] [stash_id]
* 除了不删除恢复的进度之外,其余和git stash pop 命令一样。
删除保存的更改记录
git stash drop [stash_id]
删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。
清空保存的更改记录
git stash clear
清除所有未提交的修改
git checkout .
撤销add
git reset