原標題:如何使git忽略我的文件而不管分支?如何將更新的git-hash嵌入到Version.hpp中?
我有以下幾點結賬後的文件會預期其工作原理:
#!/usr/bin/ruby
cmd = ENV["HOME"] + "/dev/pitbull/cpp/bin/gen_version.rb --write"
`#{cmd}`
的gen_version.rb腳本計算出一個時間戳,上次主標籤,頭git的哈希,並寫入到VERSION.hpp
該文件也在git中。我使用use git update-index --assume-unchanged VERSION.hpp
讓git忽略我的改變。
現在,如果我留在我的開發分支上,這個工作很好。但是,當我嘗試get checkout master
,我擰:
git checkout master
error: Your local changes to the following files would be overwritten by checkout:
cpp/inc/core/util/VERSION.hpp
Please, commit your changes or stash them before you can switch branches.
Aborting
什麼是正確的git的設置,使我可以更新VERSION.hpp當我檢查了,但讓Git忽略這個文件進行任何更改,無論我的分支?
EDIT 我改變主題作爲最終溶液實際地址可以是到的SO更多的用戶更有用更廣的主題。因此,您可以通過兩種方式閱讀此主題:使用原始標題和下面的答案,或者使用上面的更廣泛的問題,以及下面的整個解決方案。
如果我明白你的意思,你可以在結賬時覆蓋對這個文件所做的更改。嘗試git checkout -f – Lesstat
@Lesstat聽起來很合理,但是當我嘗試它時,我得到了:錯誤:條目'cpp/inc/core/util/VERSION.hpp'不是uptodate。無法合併。 – kfmfe04
姆姆你有沒有考慮忽略與.gitignore文件一起的文件? – Lesstat