我想要做的是在that question中已經描述過。但我想以一種實用且更通用的方式解決這個問題。所以使用情況如下:保持本地變更在git中無法實現的實用工作流程是什麼?
- 我有幾個文件
web.config
,createDb.sql
或以任何其他幾個地方的變化 - 我不希望提交這些文件,因爲更改是針對我的地方機器只有
- 這些文件必須進行版本控制,而且變化是由相當往往對其中一些(特別是SQL腳本),所以我想收到這些文件
- 我做要提交更新所有其他文件
- 我希望能夠做到這一點沒有摩擦,在一個命令(使用豪華-git的,所以PowerShell是歡迎)
鏈接到的解決方案據說用git add -p
,這是不實際的,人們總是手動挑選塊,或者有一種更方便的方法來做這件事是無聊的?
例如,下面的一個可以工作:
- 如果將它們添加到索引,像
git -add -A -EXCEPT web.config crateDb.sql
之前過濾是在我的工作拷貝文件的能力。然後我可以將一個git別名映射到這個,就是這樣。 - 如果有能力取消存儲。我的意思是從工作副本中刪除包含在特定存儲中的更改。所以我將不得不在每次提交前都做類似
git stash -deapply
的事情,這也很好。
這個問題很常見,目前還沒有解決方案,這很奇怪。例如。 TortoiseSVN具有「忽略提交」功能,Perforce允許將該類型的本地更改存儲在單獨的更改列表中,並且永不提交它...
任何想法?
除了提交更改之外,您還可以如何「版本控制」這些文件?在git中,提交_is_本地和_push_影響其他計算機/回購。對我來說,這個味道像是一個更好的解決方案,就像[this](http://stackoverflow.com/questions/6009/how-do-you-deal-with-configuration-files-in-source-control)。 – 2012-04-19 21:08:30
我有一個更好的配置文件解決方案 - [NConifig](https://github.com/Yegoroff/NConfig),但問題是我不僅有配置文件。 – Restuta 2012-04-19 21:14:02