在git-checkout之后用分支移动gitignored文件

时间:2013-07-04 23:33:33

标签: git gitignore git-checkout

我有一个回购,其中每个分支指定了解决同一问题的不同方法:

$ git branch
approach1
approach2
approach3

现在对于每种方法,我都有几个辅助文件,但辅助文件特定于每个分支。

所以我的问题是:是否可以跟踪这些文件,但是当我git checkout移动到另一个分支时移动分支?

当我搬到不同的分支机构时,这就是我想要发生的事情:

$ git checkout approach1
$ ls
notrack_test1.cpio.gz  notrack_test2.tar  notrack_test2-logging.img
tracked1/  tracked2.tmp

$ git checkout approach2
$ ls
notrack_check1.cpio.gz  notrack_check2.cpio.zip
notrack_check2-no_cam.img  tracked1.img  tracked_source/

这可能吗?我需要这样做的主要原因是因为每个分支都有大量的辅助文件,不应该被提交而不被跟踪。

1 个答案:

答案 0 :(得分:1)

由于没有跟踪文件,git与它们无关。

您可以实现shell脚本来根据需要移动文件。然后,您需要在版本控制下仅对此脚本进行控制,并在分支之间切换时执行它。您甚至可以使用post-checkout git hook每次结帐时自动运行它(另请参阅man page)。