获取一个上游分支并切换到该分支:
git fetch origin feature/…
git checkout feature/…
提交该分支
git push origin feature/control_safety_ipnc
删除更改
git checkout filename
设置上游分支:
用参数 -u 或 --set-upstream-to 设置上游
$ git branch --set-upstream-to=origin/<远程分支> <本地分支>
取消分支上游:
$ git branch --unset-upstream
查看上游:
可以通过git status 、 git checkout <分支>、git branch -vv命令查看
1 先切换到别的分支: git checkout dev_20180927
2 删除本地分支: git branch -d dev_20181018
3 如果删除不了可以强制删除,git branch -D dev_20181018
4 有必要的情况下,删除远程分支:git push origin --delete dev_20181018
查看历史提交版本:
1.git log 查看历史所有版本信息
2.git log -x 查看最新的x个版本信息
3.git log -x filename查看某个文件filename最新的x个版本信息(需要进入该文件所在目录)
4.git log --pretty=oneline查看历史所有版本信息,只包含版本号和记录描述
回滚版本:
1.git reset --hard HEAD^,回滚到上个版本
2.git reset --hard HEAD^~2,回滚到前两个版本
3.git reset --hard xxx(版本号或版本号前几位),回滚到指定版本号,如果是版本号前几位,git会自动寻找匹配的版本号
4.git reset --hard xxx(版本号或版本号前几位) filename,回滚某个文件到指定版本号(需要进入该文件所在目录
查看历史记录
查看历史记录
git reflog或者git log --pretty=oneline
回退到某一个版本
git reset --hard 版本号 慎用
git stash 总结
常用git stash命令:
(1)git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash
总结:常规 git stash 的一个限制是它会一下暂存所有的文件。有时,只备份某些文件更为方便,让另外一些与代码库保持一致。一个非常有用的技巧,用来备份部分文件:
add 那些你不想备份的文件(例如: git add file1.js, file2.js)
调用 git stash –keep-index。只会备份那些没有被add的文件。
调用 git reset 取消已经add的文件的备份,继续自己的工作。
git rebase (commit合并)
https://www.jianshu.com/p/964de879904a
合并后强制提交
git push -f (origin feature//…)