git使用命令

 1.删除本地不存在远程存在的远程分支

git remote prune origin

或者

git fetch -p 命令 命令行解释--prune -p -- remove any remote tracking branches that no longer exist remotely 英文意思:删除不存在的远程跟踪分支

2.git本地即使有修改如何强制更新:

本地有修改和提交,如何强制用远程的库更新本地。我尝试过用git pull -f,总是提示 You have not concluded your merge. (MERGE_HEAD exists)。

我需要放弃本地的修改,用远程的库的内容就可以,应该如何做?傻傻地办法就是用心的目录重新clone一个,正确的做法是什么?

正确的做法应该是:

git fetch --all

git reset --hard origin/master // 远程分支名称

git fetch

只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本

3.本地分支强制覆盖远程分支

git push origin 分支名 --force

4.取消commit提交

git reset --soft HEAD^ 

HEAD^是取消上一次commit记录

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

至于这几个参数:

--mixed 

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft  

不删除工作空间改动代码,撤销commit,不撤销git add . 
 

--hard

删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

原文地址:https://www.cnblogs.com/yanghaifeng/p/9775410.html