git~总结一些不常用~但很有用的操作

显示当前HEAD对应的commitId

git rev-parse HEAD  

显示远程dev最新的commitId

git rev-parse origin/dev   

显示本地仓库dev最新的commitId

git rev-parse dev 

强制切换到某个commitId(分离头),当暂存区有变化时,也会强制切换,这是-f的作用

git checkout -f commit 

合并时自动合并dev分支的commit

git merge --squash dev 
git commit -am "合并commit"

每次合并都产品新的commit

git merge --no-ff dev #默认为快进模式,有时不会产生 commit git merge dev

当前分支与某个commitId合并,使用合并策略resolve

git merge -s resolve --ff commitId 

将dev合并到master,如有冲突,保留dev的

git merge -s recursive -X theirs dev   

清除工作区的临时文件,即Untracked files

git clean -fdx

清除已经跟踪过的(tracked)的,修改但没有重新保存到暂存区的文件

git checkout .

消除已经提交到暂存区的文件(使用最近一次本地仓库文件覆盖暂存区文件)

git restore --staged . #取消上次的git add操作
git checkout .         #清除本次修改的内存

获取远程变动,不包括tag

git fetch --no-tags
原文地址:https://www.cnblogs.com/mengcheng9300/p/12917610.html