2016-11-19 307 views
1

我有一个团队,我们正在开展一个项目。我们的一个团队成员在GitHub上创建了一个存储库,并将其他人添加为合作者。我的团队成员将我们的代码提交到此存储库。我做了部分更改,当我尝试提交时,出现错误。我如何将更改提交给我是合作伙伴的存储库?Git:拒绝拒绝

这就是我所做的:

git remote add origin https://github.com/xxx/xxx.git (added a repository where I'm a collaborator) 

`git push origin master 
To https://github.com/xxx/xxx.git 
! [rejected]  master -> master (fetch first) 
error: failed to push some refs to 'https://github.com/xxx/xxx.git' 
hint: Updates were rejected because the remote contains work that you do 
hint: not have locally. This is usually caused by another repository pushing 
hint: to the same ref. You may want to first integrate the remote changes 
hint: (e.g., 'git pull ...') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

git pull origin master 
warning: no common commits 
remote: Counting objects: 145, done. 
remote: Compressing objects: 100% (60/60), done. 
remote: Total 145 (delta 67), reused 145 (delta 67), pack-reused 0 
Receiving objects: 100% (145/145), 55.90 KiB | 0 bytes/s, done. 
Resolving deltas: 100% (67/67), done. 
From https://github.com/xxx/xxx 
* branch   master  -> FETCH_HEAD 
* [new branch]  master  -> or/master 
fatal: refusing to merge unrelated histories 

我只是想更新我的一部分,它提交到库。我没有我自己的存储库。

谢谢

+1

* “警告:没有共同提交” * - 你都从一个空的回购开始?当然你有合适的遥控器? – jonrsharpe

+0

我们在笔记本电脑上都有相同的代码。然后,我的会员创建了一个回购协议,并将所有代码提交给它。我对代码的一部分做了一些改动,现在我不能提交它(( – AnaF

+0

)在尝试添加更改之前,您是否从该回购中获得了回报?如果您从代码的预回购版本开始,那么您需要克隆它*然后*添加你的变化 – jonrsharpe

回答

2

看起来像你的两个分支机构有分歧。

# HEAD at your master 
$ git checkout master 

# your master on a new branch 
$ git checkout -b diverged.master 

# get origin's master 
$ git checkout master 
$ git fetch origin master 
$ git reset --hard origin/master 

# Create a new branch for the diverged feature 
$ git checkout -b feature.branch 

# Merge your diverged changes into the new feature branch 
$ git merge diverged.master 

# Do any conflict resolutions 

# Merge feature branch to master 
$ git checkout master 
$ git merge feature.branch 

# Push to remote 
$ git push origin master 

编辑

我错过了这个是一个全新的回购一部分..使这稍微容易

# HEAD at your master 
$ git checkout master 

# your master on a new branch 
$ git checkout -b diverged.master 

# delete master branch 
# git branch -D master 

# pull master from origin 
$ git pull origin master 

# HEAD at origin's master 
$ git checkout origin master 
$ git pull # for good measure 

# merge your changes 
$ git merge diverged.master 

# push your changes 
$ git push origin master 
+0

一切正常!!!!!!!!!!!!!!!!!!!!!!!! THANK YOU !!!!! !我花了3小时试图解决它 – AnaF

+0

很高兴听到它!git可以是一个非常强大的工具,并且我建议你在尝试u之前阅读它在团队环境中进行。如果你不确定你在做什么,就像你看到的那样,它会很快地变得非常混乱......开心的编码:D –