Linux上的git也从另一个存储库上传文件

时间:2019-04-26 13:40:22

标签: linux git github

我有2个git存储库,一个包含3个文件,另一个具有相同3个文件,但内容相似。 (例如README.md,index.html等)

我使用“ git add”添加文件,并创建了两个名为“ view”和“ music”的遥控器。 我使用“ git add”在第一个文件夹中添加了前三个文件,然后将其提交并推入了视图存储库。 然后我转到另一个文件夹,也用“ git add”添加了这3个文件,并且也提交并推动了它们,但是我突然也将其他3个文件也推送了。 (“音乐”存储库中也包含“视图”中的文件)

TL; DR:如何在Linux上分离git存储库

正在运行CentOS 7并通过yum提供了最新的git更新。 我已经尝试过使用2个不同的文件夹并编写“ git init”,然后再使用“ git add”和其他命令进行提交+推送。 他们仍然返回错误,而不是发布重复项。

两个文件夹中都使用了以下内容,但第二个文件夹中发生了错误

echo "# testing" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.Username/reponame.git
git push -u origin master

我希望git能够以某种方式区分多个存储库,并且我可以简单地将2个文件夹和2个存储库分开。 我认为在git push / commit之后,文件的“ git add array”将再次为空,并且我可以为另一个git commit / push添加新文件。 如何通过Linux命令行提交/推送到多个存储库,并将不同的文件推送到不同的存储库,而又不会混淆它们。

编辑:

文件夹结构如下:

[usr@servr~]$ ls music/
index.html  README.md  songs
[usr@servr~]$ ls view/
index.html  README.md  pics

我所做的确切步骤:

cd music
git init; git add README.md; git add index.html; git add songs
git commit -m "Initial Commit"; git remote add origin <link2music>; git push -u music master
cd ../view
git add README.md; git add index.html; git add songs; git commit -m "Initial Commit"; git remote add origin <link2view>; git push -u view master

然后,视图的git存储库突然有了音乐存储库的README.md,文件夹中的歌曲也有了(即使它不应该)。

我删除了视图存储库,但将音乐存储库保留在github上。 (在我的Linux机器上没有删除文件夹)。然后,我尝试从两个文件夹中的第一个代码段(github官方代码)中准确输入代码(每个文件夹中也都带有git init),现在已经存在的音乐存储库向我抛出错误“!” ->大师(先获取)”,即使我从未从我的机器或github中删除音乐存储库。 (两个文件都相同)

1 个答案:

答案 0 :(得分:1)

很抱歉回答我自己的问题。

有人建议我尝试“ git status”,并发现我的问题是上级文件夹。我不小心在我的2个“ repo”文件夹上方创建了一个上层文件夹,一个git存储库。

应该如何:

Home
->music(repo .git)
->view(repo .git)

很热(不好)

Home (repo .git)
->music
->view

这意味着我没有将2个文件夹推送到各自的存储库中,而是将上层文件夹(我的主文件夹)推送到了存储库中,该存储库当然包含了我的其他两个文件夹。

我从家中删除了.git文件夹,再次将git repos克隆到另一个文件夹中,现在它们可以正常工作了。