我希望能够使本地(从未跟踪,从未提交过)文件“粘贴”到某些git分支。
例如,我希望能够做到这样的事情:
$ git checkout version1.0
$ make
$ ./myProject # 1.0 binary
$ git stick-to-current-branch myProject
$
$ git checkout version2.0
$ make
$ ./myProject # 2.0 binary
$ git stick-to-current-branch myProject
$
$ git checkout version1.0
$ ./myProject # 1.0 binary from above
我编写了“stick-to-current-branch”命令,但有什么东西可以实现吗?我从不想提交这些文件;它们是特定于分支的,但不应该被跟踪。
答案 0 :(得分:3)
不,没有选项可以在不同分支的签出工作目录中“粘贴”未被git跟踪的文件。但是,您可以在结帐时“生成”文件(例如使用post-checkout
挂钩 - 在post-checkout挂钩中运行make
,以便为分支/版本生成myProject
二进制文件)
答案 1 :(得分:1)
(注意:不是二进制文件)
如果可以轻松识别myProject
文件的内容,则可以使用filter driver根据当前分支为该文件生成正确的内容。
在每次结帐时,您都会使用涂抹脚本根据模板文件“myProject
”生成私有文件(如“未版本化”)“myProject.tpl
”所有不同分支的价值观。