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