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使用错误整理)