2016-08-01 42 views
0

我正在使用git跨多台计算机共享一个项目。在一台机器上,我在项目中创建了一个新目录(包含各种文件)。我然后用下面这个推到仓库:通过git存储库共享新目录

git add directoryname 
git commit -m "Adding a new directory" 

通过的文件列表来看,它似乎犯下的一切。但是,如果我再发出另一台机器上的命令

git pull 

,新的目录将不会出现。我尝试了其他各种选择,例如git fetch但每次它说本地存储库已经是最新的。我怎样才能从存储库中取出这个新的目录?

+0

如何配置其他存储库? git remote -v在不同的版本库中的输出是什么 – AnimiVulpis

回答

3

您需要从电脑推它,你COMMITED

git push origin mybranch 

您可以添加-u标志,如果你想跟踪它,这样在您下次使用git push时它会自动将分支那里。

+1

我建议添加'-u'标志('git push -u origin mybranch'),这样下次你可以直接写'git push'。另外,如果你不知道什么分支,只需使用'master'('git push -u origin master')。 – GingerPlusPlus

+0

根据git push花费的时间来判断,我认为这是上传文件夹和数据(一些非常大的文件)。我使用'git push -u origin master',但是git pull仍然不会将这个新目录带入我另一台机器上的本地存储库。 – 218

+0

[更新]我运行了以下代码:'git commit -am“在另一台机器上新增了”git push origin master“,后面跟着'git pull'。新的目录,其中一个子目录和其中的一个文件现在出现在我的另一台计算机上。我不知道为什么git没有传输所有内容或为什么选择某些文件。 – 218

0

你在哪里托管你的仓库?这有很多不同的选择。本例使用GitHub

首先,你必须用GitHub

https://github.com/

注册你做到了后,请一定要记住您的登录信息。

点击

button

给它一个名称

gelloworld

请在该项目

git add . 
git commit -m "Behold my awesome feature" 

抓斗到远程链接你的工作创建一个存储库reposito RY

repos

建立远程仓库你的机器上

git remote add project01 https://github.com/edoroskevic/helloworld.git 

注:project01可以用任何你喜欢的来代替。它只是远程存储库的名称,将存储在本地计算机上。

后,它已经建立,你终于可以推到远程仓库工作

git push project01 master 

project01是我对这一标准库和master名称是分支我将推到我的远程存储库。

执行上述命令后,系统会要求您提供登录信息GitHub(用户名,密码)。输入这些内容并在GitHub上查看推送的更新。

推送时,您可能会收到令人讨厌的fatal error。说像...

不能合并无关的历史...

在这种情况下,你可以用-f像这样

git push -f origin master 

注意运行你推:-f会强行推动你的遥控器顶部。您也可以在本地和远程分支之间添加链接,但这篇文章太长了。

下一次你另一台机器上,你可以

git clone https://github.com/edoroskevic/helloworld.git 

这将克隆远程仓库和自动设置各分公司之间的联系。接下来,你继续做你平常的东西加入,承诺,推动

希望它有帮助:■

+0

注意:Github上的私人回购券不是免费的。 – GingerPlusPlus

+0

@GingerPlusPlus是真的 –

-1

,最终工作是如下顺序:

主机1(含新目录,“Dir_new”,各种子目录和文件)

git add directoryname 
git commit -m "Adding a new directory" 
git push origin master 

主机2

git fetch 
git checkout HEAD 
git pull 

注意这只能传输包含文件的子目录。任何空的子目录都会被忽略。