【发布时间】:2012-05-01 10:36:19
【问题描述】:
我想要做的已经在that question 中描述过了。但我想以一种更实用、更通用的方式解决这个问题。所以用例如下:
- 我在多个文件
web.config、createDb.sql或任何其他文件中进行了多项本地更改 - 我不想提交这些文件,因为更改只针对我的本地计算机
- 这些文件必须受版本控制,而且其中一些文件经常进行更改(尤其是 sql 脚本),所以我想接收这些文件的更新
- 我确实想要提交所有其他文件
- 我希望能够在一个命令中毫无摩擦地做到这一点(使用 posh-git,因此欢迎使用 powershell)
链接到的解决方案据说使用git add -p,这不实用,一直手动挑选块很无聊,或者也许有更方便的方法?
例如,以下其中一项可能有效:
- 如果能够在将工作副本中的文件添加到索引之前过滤它们,例如
git -add -A -EXCEPT web.config crateDb.sql。然后我可以将一个 git 别名映射到它,就是这样。 - 如果有取消应用存储的能力。我的意思是从工作副本中删除一个特定存储中包含的更改。所以我必须在每次提交之前做类似
git stash -deapply的事情,这也很好。
这个问题很常见,奇怪的是目前没有解决方案。例如。 TortoiseSVN 具有“ignore-on-commit”功能,Perforce 允许将该类型的本地更改存储在单独的更改列表中,并且从不提交。
【问题讨论】:
标签: git version-control dvcs