简述

简单记录一下自己平时使用 git 遇到的一些问题,自己是怎么处理的。最近发现自己的脑子记性不太好,可能把这些记下来,以后自己好翻查吧。希望,这些小技巧笔记能帮到你吧。

Q&A

git怎样忽略文件权限差异?

一般情况下,系统会默认git记录文件的权限信息。

如果文件的权限信息被修改,那么git也作为一个差异保存。

一般来说,是不需要这方面的差异的(例如在Windows下使用Cygwin),这时需要关闭文件权限的检查。

可以尝试输入下面的命令来解决问题:

$ git config core.filemode false

git怎么处理团队开发遭遇的代码冲突处理?

或许你在提交代码的时候会遇到以下报错:

commit your changes or stash them before you can merge.

没关系,我一般会有两种方案去应对:

(1)利用 git stash 来临时保存自己的修改

  • 通常遇到这个问题,你可以直接commit你的修改;但我这次不想这样。

看看git stash应该怎样做:

$ git stash
$ git pull
$ git stash pop

⚠️ 接下来diff一下此文件看看自动合并的情况,并作出相应修改。

git命令介绍:

  • git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
  • git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
  • git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
  • git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

(2) 放弃本地修改,直接覆盖之

$ git reset --hard
$ git pull

未完待续


AlphaGooo
1.1k 声望135 粉丝

你想要什么,就去追求什么