我刚刚为我公司写的一些软件创建了我的第一个git存储库。我的目的是能够在多台计算机上工作(办公室电脑,家用电脑和笔记本电脑,以便我工作时)。
我遇到的问题是我的软件是另一个软件的扩展,我的代码文件与我们编写的软件的代码文件混合在一起。因此,我无法在repo中添加一个目录,然后可以将其拉到每台计算机上。为了解决这个问题,我将每个目录/文件分别添加到repo中,然后将其提交。这很好用,我的回购工作正常。唯一的问题是当我将repo拉到另一台机器时,它不是抓取文件并将它们添加到目录结构中,而是下载所有文件并将它们放在以repo命名的目录中。无论如何我可以阻止这个文件被添加到现有的目录结构中吗?
答案 0 :(得分:0)
尝试使用实际的git程序而不是GitHub web界面,那么你将拥有更多的灵活性,包括克隆到一个名称与源代码不同的目录。
答案 1 :(得分:0)
如果您基本上只是在另一个项目中添加了分散的文件集合,那么唯一可行的方法就是将git存储库的根目录作为其他项目的根目录。除非您制作一个非常全面的.gitignore文件,以排除您正在构建的项目中的所有文件,否则您将对未跟踪文件抱有很多抱怨。为了使它实际上在实践中工作,你需要在其他地方检查你的git repo,获取.git目录并将其移动到你要添加到的另一个项目的顶层。然后cd进入另一个项目并执行git pull。显然,这只有在其他项目不使用git时才有效。这显然不是最佳方式。
如果另一个项目是使用git,那么解决方案就是克隆他们的repo并在任何你想要的地方添加你的文件......但我想你不会问这个问题是不是。
另一个可能更好的选择是简单地将所有文件检查到你的git仓库中,并使用像Tailor这样的工具定期将源控制系统中的更改摄取到你的git仓库中。
您还应该查看Submodules,但根据您的说明,我认为它们不会真正解决您的问题。
答案 2 :(得分:0)
如果有人读到这个并想知道答案......
玩了一下之后,最好的(或者最简单的初学者)是将repo克隆到repo name子目录中,然后将.git文件移出子目录并将其他文件合并到我的项目。我现在可以推/拉for repo来获取最新的代码