赞
踩
不同场景下git命令的使用(记一下比较容易忘记的):
git checkout -b dev origin/dev
很多人本地没有dev分支,直接使用git checkout -b dev来拉取,这样肯定是不对的。
但是如果直接使用git checkout dev来拉取远程的,可行吗?(结论是可行的,当远程和有和本地上的一样的分支名,等同于git checkout -b dev origin/dev这个命令)
参考地址:https://www.jianshu.com/p/bba854fe2b29
使用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 stash@{num}
d.恢复指定缓存,并将缓存堆栈中的对应stash删除(用的多,毕竟大家都是恢复指定的缓存,并且不需要在git stash list中有这个记录了)
git stash pop stash@{num}
e. 删除所有缓存的stash
git stash clear
f.删除指定缓存
git stash drop stash@{num}
g.使用指令“git stash apply stash@{id}”,恢复指定id的stash内容,同时不会删除恢复的缓存条目。
git stash apply stash@{id}
使用git pull --rebase 解决。
该问题场景产生于:和同事在同一分支开发,自己开发完了直接git push时git会提示你先git pull一次。
有冲突时git会显示有冲突的状态(MERGING),此时直接打开vscode,去解决冲突,主要要记住的是第一个是采用当前更改(自己的),第二个为采用传入的更改(别人的)
此时应该在功能分支上使用git merge dev来保持代码的统一,然后功能分支开发测试完毕之后再合并回dev分支。
1:还没有推送到远程的本地分支重命名
git branch -m oldName newName
2:已经推送到远程的分支重命名
(1):重命名本地分支 git branch -m oldName newName
(2):删除远程分支 git push --delete origin oldName
(3):上传新命名的本地分支 git push origin newName
参考网址:https://www.cnblogs.com/yixiongqiang/p/13750843.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。