我的a repository包含分支master
中的软件及其分支gh-pages
中的主页。该项目包含一个examples
目录,其中包含应包含在master
分支中的源文件。主页应包含已编译的示例,也可能包含源文件。我如何在两个分支之间共享示例(依赖于master
分支来编译)?所需的工作流程是:
$ git checkout gh-pages; ls examples/ # directory is empty $ git checkout master; ls examples/ # directory contains .tex source files author.tex $ make examples && ls examples/ # compiles .tex files to .png files author.tex author.png $ $MAGIC_COMMIT_TO_BRANCH_SELECTED_FILES gh-pages author.png author.tex $ git checkout gh-pages; ls examples/ author.tex author.png
分支gh-pages
可能已包含示例,因此只需切换到此分支将覆盖新编译的文件。编译的文件不应提交给master
分支。我考虑过创建另一个分支examples
,但这并不能让它变得更容易。如果git子模块可以指向特定的分支(可以吗?)我可以创建一个examples
分支,在其他分支中用作子模块。将示例移动到另一个存储库可能会起作用,但我更愿意将所有示例保存在一个存储库中。也许有一些合并经理或挑选魔法?
答案 0 :(得分:1)
我不认为你已经掌握了版本控制的全部内容。至少在我看来,你是以错误的方式使用分支。这是一个混乱的存储库设计,导致你所有的问题。将源安装在两个分支上是没有任何意义的,同时编译的文件应该从一个分支生成并在另一个分支上生成,那么您也可以在同一个分支上生成和提交已编译的文件。它来自的源头。
您似乎正在使用分支而不是使用单独的存储库。如果您从一个分支上的某个源代码编译代码并将文件提交到另一个分支上,那么您如何从其编译的源代码知道什么版本?
我不明白为什么你不能将源和编译后的文件放在一个分支中,工作和编译直到你“完成”然后将更改合并到master中。然后你有两个分支上的源文件和编译文件,但那又怎么样? :)另一种方法是将源保持在一个分支中,对源进行处理,直到你“完成”提交源并将更改合并到master中。查看master分支,编译并提交新编译的文件。
答案 1 :(得分:0)
我会创建一个分支来包含所有这些共享文件。每当分支需要共享文件时,它都可以使用
来获取它set.seed(123)
df1 <- data.frame(k=20:0, h_1=rnorm(21), h_2=rnorm(21), h_3= rnorm(21))
df2 <- data.frame(k=20:0, h_1=rnorm(21), h_2=rnorm(21), h_3= rnorm(21))
df3 <- data.frame(k=20:0, h_1=rnorm(21), h_2=rnorm(21), h_3= rnorm(21))
df_list <- list(df1=df1,df2=df2,df3=df3)
稍后您只需使用相同的命令
即可更新.sidebar.widget_area .sidebar_inner.widget_area_inner {
margin-right: 0;
}