git命令相关
不同场景下git命令的使用(记一下比较容易忘记的):
1.本地没有dev分支,需要拉取远程的dev分支
git checkout -b dev origin/dev
很多人本地没有dev分支,直接使用git checkout -b dev来拉取,这样肯定是不对的。
但是如果直接使用git checkout dev来拉取远程的,可行吗?有点忘了
2.在自己的分支工作,没做完又不想提交代码,此时又需要切换到dev分支修复bug
使用git stash命令
a.存储(这样子只能存储已有文件的改动,如果你有新增文件,那么需要先git add .提交到暂存区,再进行git stash)
git stash save "save message" : 执行存储时,添加备注,方便查找,只用git stash 可以存储修改,但查找时不方便识别。
git stash save -a "save message" :有新增文件的情况下使用
b. 查看自己分支上存储了哪些改动
git stash list
c. 恢复自己的缓存, 并将缓存堆栈中的对应stash删除 (使用这个命令默认恢复第一个缓存,等同于 git stash pop stash@{0} )
git stash pop
d.恢复指定缓存,并将缓存堆栈中的对应stash删除(用的多,毕竟大家都是恢复指定的缓存,并且不需要在git stash list中有这个记录了)
git stash pop stash@{$num}
e. 删除所有缓存的stash
git stash clear
f.删除指定缓存
git stash drop stash@{num}
3.使用git pull会产生Merge branch ‘refactor_relationship’ of… 这种不好看的代码提交记录
使用git fetch + git rebase 解决。
该问题场景产生于:和同事在同一分支开发,自己开发完了直接git push时git会提示你先git pull一次。
4.冲突解决
有冲突时git会显示有冲突的状态(MERGING),此时直接打开vscode,去解决冲突,主要要记住的是第一个是采用当前更改(自己的),第二个为采用传入的更改(别人的)
|