Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多台计算机上的GitHub项目_Git_Github - Fatal编程技术网

多台计算机上的GitHub项目

多台计算机上的GitHub项目,git,github,Git,Github,我刚刚为公司编写的一些软件创建了我的第一个git存储库。我的目的是能够在多台电脑上使用软件(办公电脑、家用电脑和笔记本电脑,当我外出工作时) 我遇到的问题是,我的软件是另一个软件的扩展,我的代码文件与我们为之编写的软件的代码文件混合在一起。因此,我无法只向repo添加一个目录,然后将其拉入每台机器。为了解决这个问题,我将每个目录/文件分别添加到repo中,然后提交。这很有效,我的回购协议也很有效。唯一的问题是,当我将repo拉到另一台机器上时,它不会抓取文件并将它们添加到目录结构中,而是下载所有

我刚刚为公司编写的一些软件创建了我的第一个git存储库。我的目的是能够在多台电脑上使用软件(办公电脑、家用电脑和笔记本电脑,当我外出工作时)


我遇到的问题是,我的软件是另一个软件的扩展,我的代码文件与我们为之编写的软件的代码文件混合在一起。因此,我无法只向repo添加一个目录,然后将其拉入每台机器。为了解决这个问题,我将每个目录/文件分别添加到repo中,然后提交。这很有效,我的回购协议也很有效。唯一的问题是,当我将repo拉到另一台机器上时,它不会抓取文件并将它们添加到目录结构中,而是下载所有文件并将它们放在以repo命名的目录中。我是否可以停止此操作,以便将文件添加到现有的目录结构中?

尝试使用实际的git程序而不是GitHub web界面,这样您就有了更大的灵活性,包括克隆到一个与源repo名称不同的目录中。

如果您实际上只是在另一个项目中添加了一个分散的文件集合,那么唯一可行的方法就是将git存储库的根作为另一个项目的根。除非你制作一个非常全面的.gitignore文件,将所有文件从你正在构建的项目中排除,否则你会对未跟踪的文件有很多抱怨。要使它在实践中真正起作用,您需要在其他地方查看您的git回购,获取.git目录并将其移动到您要添加到的其他项目的顶层。然后将cd放入另一个项目并执行git pull。显然,只有当另一个项目不使用git时,这才有效。这显然不是解决问题的最佳方式

如果另一个项目使用的是git,那么解决方案就是克隆他们的repo并将文件添加到任何你想要的地方。。。但我想如果他们是的话,你就不会问这个问题了

另一个可能更好的选择是简单地将他们的所有文件检查到您的git repo中,并使用一个工具,比如定期将他们的源代码管理系统中的更改接收到您的git repo中


你也应该去看看,但从你的描述来看,我认为他们实际上解决不了你的问题

如果有人读到这篇文章想知道答案


在玩了一会儿之后,最好的(或者对初学者来说可能是最简单的)方法是将repo克隆到repo name子目录中,然后将.git文件移出子目录,并将其他文件合并到我的项目中。我现在可以推/拉回购协议以获取最新代码

您是说通过终端?这就是我一直在做的。我运行了git克隆git@github.com:username/Repo-Name.git。这就是你的意思吗?是的。然后可以向命令添加另一个参数,即要克隆到的目录的名称。试试看。如果目录不是空的,这就不起作用了,在我的例子中不是空的。在玩了一点之后,最好(或者对初学者来说最简单)是将repo克隆到repo name子目录中,然后将.git文件移出子目录,并将其他文件合并到我的项目中。我现在可以推/拉回购协议以获取最新代码