This topic created in 3394 days ago, the information mentioned may be changed or developed.
比如, a 文件已经提交过了,也就是已经追踪了,但是出于某种原因我希望这个 a 文件的后续改动被忽略掉
.gitignore 和 exclude 都是需要没有追踪的情况下才可行,但是我并不希望删掉远程库上的 a 文件
git update-index --assume-unchanged a 文件可行,但是当切换分支的时候仍然会因为 a 文件有过改动而无法切换
研究了好久没合适的解决方法,求指导~~
7 replies • 2017-01-25 22:49:37 +08:00
 |
|
1
wujysh Jan 25, 2017
git rm --cached a
|
 |
|
3
kiwi95 Jan 25, 2017 via Android
如果只是一个文件,可以做一个 a.template 的文件作为 git 追踪的文件,大家公用这个文件,新 clone 的仓库手动复制一个命名为 a 就可以了
用 assumr-unchanged 有点麻烦,要是忘记了这个标记位更麻烦
|
 |
|
4
kiwi95 Jan 25, 2017 via Android
append: 把 a 加到 .gitignor 里面
|
 |
|
5
bigpigeon Jan 25, 2017
以前也遇到这个问题,后来改变思路了,配置文件改名为 xx.conf.bak ,然后 git pull 下来后 cp xx.conf.bak xx.conf .gitignore 中加入 xx.conf
|
 |
|
6
klesh Jan 25, 2017 via Android
|
 |
|
7
SoloCompany Jan 25, 2017
用 named stash
git stash save ‘ my checkpoint' git checkout stash -b my-checkpoint git checkout master git stash pop
以后任何时候你希望得到一个 clean working copy 的时候,直接很黄很暴力的(慎重!) git reset --hard
随时恢复工作环境 git stash apply my-checkpoint
把 stash 保存为单独一个分支是为了避免误操作把 stash 给覆盖或清除了
|