2016-11-13 132 views
0

好吧,即时通讯新的Git,我有我自己无法解决的isue,即使在几个小时后在这里和那里阅读有类似问题的主题。 我会尽力来形容它的细节:Git - 推送到远程存储库失败

在rep_1有5个文件夹

我的GitHub库的名称是rep_1(1,2,...,5),并且有在的index.html每。我做了新的文件夹'工作',我git clone <url>我分叉回购。在文件夹1/index.html中,我使用了git initgit add .git commit -m进行了一些更改。

然后我用git remote add 1 https://github.com/username/rep1之后,

git push 1

和我:

致命:当前分支主不具有上游分支。要将当前 分支和设置远程上游,使用混帐推--set上游1个主

我用太多,但它并没有帮助。这段时间:

fatal:当前分支主机没有上游分支。推当前 分支和设置远程上游,使用 GIT中推--set上游工作主

也dind't工作。

库没有发现

我试过也git push -u rep_1,得到了相同的错误。我不知道我该怎么做。

+0

也许1对于存储库引用并不是一个好名字?另外,你似乎在混合东西。 1是文件夹,回购参考还是分支?你需要'git remote add myRepo ...; git推myRepo主'。 –

+1

您是否尝试删除.git文件夹并重新开始?也请确保切换到正确的分支与git结帐branch_name – ytpillai

+0

我认为你的步骤是非常错误的,并混淆了Ondra建议。你能说出你的实际需求是什么吗?你想在你的问题中发生什么,我们可以建议需要遵循的步骤。 –

回答

0

在rep_1中有5个文件夹(1,2,...,5),每个文件夹都有index.html。我做了新的文件夹'工作',我git克隆我分叉的回购。在文件夹1/index.html中,我使用了git init和git add。和git commit -m进行一些更改。

这里您是说您已经克隆了回购。后来你正在用git init初始化一个新的仓库。所以,当你这样做的时候,这个仓库与你所克隆的仓库完全不同。因此,您将无法推送到现有存储库(我假设您添加的远程存储库是从您克隆的存储库中。)

说完如果您能说出您的要求是什么,可以建议需要遵循的步骤。

0

基本上,git会搜索存储库信息(通常是.git)从当前文件夹到上层文件夹,直到找到.git。

对于您的问题,将使用您在文件夹1中创建的本地存储库。所以你不能通过这个本地信息推送到远程。

不建议在其他存储库的工作目录中创建新的存储库。

0

您无法在子文件夹中克隆相同的回购。为什么你不能如下推原因:

  1. 你克隆你的文件夹/work rep_1,所以在你本地的回购/work/rep_1
  2. 在文件夹/work/rep_1/1,您使用git init创建新的本地回购和在它做了一些改变
  3. 然后你添加远程repo rep_1,并想推入文件夹/work/rep_1/1中的东西。但请记住,/work/rep_1/1是您在第1步中本地回购的子文件夹,您还有文件夹/ 2,/ 3,/ 4,/ 5。
  4. 有一个有趣的事情是,如果你使用git pull --allow-unrelated-histories,然后去目录/work/rep_1使用git status,你会发现你在/work/rep_1/1改变了这一切在这里展示
  5. 所以你使用git push 1,它真的会检查/work/rep_1状态和HEAD的SHA-1与远程
  6. 比较。如果您需要更改推,你可以在/work/rep_1做到这一点直接
0

有许多sugestions但不适试图解释什么,我必须做的。 我的克隆文件夹rep_1包含.git,所以当我使用git log时,已经有一个包含许多条目的存储库。我必须对文件夹1-5中的index.html文件进行更改。每个变更都必须提交。然后,我必须将其推送到远程存储库,并完成所有更改。

我的问题:

  1. 是否可以在一个已经存在只有一个仓库做了什么?
  2. 我可以删除.git文件并使用清除日志创建新文件吗?我不需要旧的改变。
  3. 是不可能在每个1-5文件夹中制作git存储库,然后将其推送到我的github?
  4. 我可以让更改让一次说两个文件,并提交一个命令在gitbash?
+0

为您的问题:1. \t不,如果你想分开控制5个文件夹,你需要把它们放在不同的文件夹; 2. \t不,即使删除'.git'文件也不能删除日志。这是GIT功能,跟踪所有历史记录已完成,因此日志无法清理; 3。\t是的,您可以使用git init在不同的路径中创建一个新的回购站并复制其中一个文件夹; 4. \t是的,在存储库中,无论您在子文件夹中更改了什么,它都可以同时提交。 –

0

你只需要输入存储库文件夹“rep_1”你克隆,然后运行

git add * 
git commit -m "x" 
git push 

推你在5个文件夹做出远程存储库中的所有更改。

相关问题