简述
简单记录一下自己平时使用 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。