git使用错误整理

忽然有一天你用git提交文件的时候发现提交的结果是错误的,而且提示:Please, commit your changes or stash them before you can merge.


这就是本地文件和仓库中的文件冲突了,不要着急,看小姐姐怎么解决的

1.如果是这个文件你备份好了,或者是在没有用了,你直接就执行这个命令

  git reset-----这种方法会丢弃本地修改的代码,而且不可找回

2.如果你还想要这个文件,那就请用下面的这个命令

     1)直接commit本地的修改----也一般不用这种方法

     2)通过git stash---- 通常用这种方法

              git stash

             git pull

             git stash pop

通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

3.恢复某个已修改的文件(撤销未提交的修改):

        git checkout------撤销所有的文件

示例:git checkout file-name

比如修改的都是python文件,不必一个个撤销,可以使用

$ git checkout *.py

4.撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交

    git revert

   * git revert HEAD                  撤销前一次 commit

   * git revert HEAD^               撤销前前一次 commit

   * git revert commit-id (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。

    git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容

5.Please move or remove them before you can merge.

git clean  -d  -fx

其中

x  -----删除忽略文件已经对git来说不识别的文件

d  -----删除未被添加到git的路径中的文件

f  -----强制运行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,679评论 1 26
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,828评论 1 17
  • 昨天在喜马拉雅听有声书《不要用爱去控制》,听的一头雾水,似懂非懂,但是感觉这就是我想要的。 今天再听《不要用爱去...
    严铃阅读 252评论 0 0
  • 倘若一人去跋涉 是否可坚持走远 点点星光在背 山河凄冷 月光如水 霜降的冬日里 水凝结成一片片的眼泪 路途的痛苦 ...
    淡墨幽兰阅读 351评论 3 3
  • 第6章 主动学习 1 学习是什么 1)学习不是强加于你的,而是需要你主动做的事情2)仅仅掌握知识,而不去实践,没有...
    程冰洁阅读 144评论 0 0