2017-07-14 31 views
1

我所拥有的文件在本地(新PC上),并在github上存储库和我要克隆/创建PC上的本地存储库。Git的克隆与同一文件的新PC的当前目录比本地远程仓库

我已经做了帖步骤:

$ git init 
Initialized empty Git repository in /home/sebastien/.git/ 
$ git remote add origin https://github.com/xxxxx/yyyyyyyy 
$ git pull origin master 
remote: Counting objects: 791, done. 
remote: Compressing objects: 100% (615/615), done. 
remote: Total 791 (delta 148), reused 743 (delta 102), pack-reused 0 
Receiving objects: 100% (791/791), 2.04 MiB | 323.00 KiB/s, done. 
Resolving deltas: 100% (148/148), done. 
From https://github.com/xxxxx/yyyyyyyy 
* [new branch]  master  -> origin/master 
* branch   master  -> FETCH_HEAD 
error: Untracked working tree file '.initBash/.AV_functions' would be overwritten by merge. 
$ echo $? 
128 
$ git branch --set-upstream-to=origin/master master 
fatal: branch 'master' does not exist 
$ echo $? 
128 

编辑1:本地文件可以是相同的或比对远程回购旧。

你能帮忙吗?

+0

似乎在您初始化存储库是不是空的文件夹。有些文件也存在于您正在克隆的存储库中。 – lschuetze

+0

您创建了'混帐init'本地资源库,但实际上还没有添加任何文件到它。 – chepner

回答

1

error: Untracked working tree file '.initBash/.AV_functions' would be overwritten by merge.

您的本地文件将被覆盖。所以,要解决这个问题,你可以在提取远程master之前提交本地文件。

fatal: branch 'master' does not exist

你没有本地master所以,这个错误。

按照说明:

首先,清理你的git的历史。我更喜欢删除.git文件夹,然后再次生成。

$ rm -rf .git 
$ git init 

提交您的本地文件/改变。

$ git add -A 
$ git commit -m 'message' 

添加新的远程origin与远程回购的URL。

$ git remote add origin https://github.com/xxxxx/yyyyyyyy 

拉远程master分支的变化。

$ git pull origin master 

如果发生冲突,则解决。完成。


备选:如果新PC的局部变化并不重要,你想重置本地与远程master然后按照它:

$ git init 
$ git remote add origin https://github.com/xxxxx/yyyyyyyy 

$ git fetch 
$ git reset --hard origin/master  # local changes = origin/master changes 
0

的问题是,是本地副本的文件与远程回购中的版本不同?如果是这样,你想怎么做呢?

如果它们不一样,你可以将其删除,并克隆回购。 (反正克隆回购必然副本从遥控器上的文件。)

git clone url/of/remote/repo 

如果本地文件是不同的,而你不想放弃分歧,那么你需要决定在历史上他们属于。这可能取决于这个版本的文件如何摆在首位。

最简单的例子:该文件是在回购协议的最新版本(对一些分支)拷贝。那么也许他们只是代表推向该分支的更新。所以克隆回购如上,然后将本地文件拷贝过来的工作树和使用为基础的新的承诺。

或者也许他们是修改版本的在回购中提交?然后你可以创建一个新的分支,从那个较旧的提交开始,然后从那里开始。 (锥回购,检查出旧的承诺,创建并检出一个新的分支,然后复制本地版本在工作树。)

第一可以提交本地副本(在另一个答案建议),但根据您的Git版本,你可能需要给予特别的选择,让GIT中接受历史无关,当你这样做,你可能会得到的只是一切BC混帐冲突会看到两个不相关的变位线独立创建的每个有问题的文件。

+0

本地文件可以比那些在远程回购相同或更旧。 – SebMa