是否可以告訴Git忽略符號鏈接?我正在使用混合的Linux/Windows環境,正如您所知,符號鏈接在兩者之間的處理方式非常不同。忽略.gitignore中的符號鏈接
10
A
回答
1
使用Git版本> = 1.6
的Git用於治療符號鏈接一樣普通的文件,但新版本的Git(> = 1.6)檢查文件是否超出了一個符號鏈接,並會拋出一個致命的錯誤。
例如爲:
# git init
# mkdir newdir
# touch newdir/foo
# git add newdir/foo
# git commit -m 'add foo'
# mv newdir /tmp/
# ln -s /tmp/newdir
# touch newdir/bar
# git add newdir/bar
fatal: 'newdir/bar' is beyond a symbolic link
# git add/tmp/newdir
fatal: '/tmp/newdir' is outside repository
# git --version
git version 1.7.3.4
+2
git 1.7.9.5增加了符號鏈接,甚至當它們指向倉庫之外的東西時...... – Izkata 2014-06-24 03:23:06
1
不,這是不可能在全球範圍內做到這一點。但是,如果你有很多符號鏈接的下面是一個bash腳本,您可以使用輕鬆地將它們添加到您的回購的.gitignore文件以:
for f in $(git status --porcelain | grep '^??' | sed 's/^?? //'); do
test -L "$f" && echo $f >> .gitignore; # add symlinks
test -d "$f" && echo $f\* >> .gitignore; # add new directories as well
done
+0
真棒解決方案!工作非常好:)非常感謝你! – 2016-03-07 18:51:17
相關問題
- 1. SVN - 忽略符號鏈接
- 2. 忽略TortoiseHG中的符號鏈接
- 3. 忽略setuptools MANIFEST.in中的符號鏈接?
- 4. 如何讓Git忽略符號鏈接?
- 5. 化妝DIFF忽略符號鏈接
- 6. 如何讓mercurial忽略符號鏈接?
- 7. GitExtensions忽略.gitignore
- 8. .gitignore忽略路徑中帶有'@'符號的文件夾
- 9. gitignore不會忽略
- 10. global gitignore被忽略
- 11. 如何忽略中間人的符號鏈接(包)?
- 12. 如何忽略符號鏈接中的目錄索引文件?
- 13. 忽略符號
- 14. 忽略列中的鏈接
- 15. 忽略子目錄的.gitignore
- 16. 不能忽略gitbox中的.gitignore文件(.gitignore不會忽略自己)
- 17. 忽略乾淨的URL的符號鏈接在.htaccess
- 18. 如何讓Windows上的Git忽略符號鏈接
- 19. SVN忽略到目錄的符號鏈接
- 20. 如何讓svn忽略文件夾的符號鏈接
- 21. 在makefiles中忽略(@)符號
- 22. 的Git忽略不目錄中的.gitignore
- 23. gitignore不工作 - 被忽略?
- 24. .gitignore沒有忽略文件
- 25. .gitignore不忽略文件「config.inc.php」
- 26. Gitignore不會忽略上市
- 27. git GUI忽略.gitignore文件?
- 28. .gitignore不會忽略web.config
- 29. Git回滾推,.gitignore - 忽略
- 30. .gitignore無法忽略文件
究竟你忽略了是什麼意思?如果這是你想要的,你可以添加符號鏈接到你的.gitignore。 – 2010-08-18 10:58:45
是的,但如果只是添加文件名,它也會忽略符號鏈接的文件...雖然我想我可以指定完整路徑。我希望有一些東西可以保存在一個配置文件中...... – Andrei 2010-08-18 11:05:21
我想你最好的選擇可能是用'find * -type l'生成列表。 – Cascabel 2010-08-18 12:47:17