2016-11-19 4 views
1

Ich habe ein Team und wir arbeiten an einem Projekt. Einer unserer Teammitglieder hat ein Repository auf GitHub erstellt und andere als Mitarbeiter hinzugefügt. Mein Teammitglied hat unseren Code für dieses Repository bereitgestellt. Ich habe Änderungen in meinem Teil vorgenommen, und wenn ich versuche, es zu begehen, habe ich einen Fehler. Wie kann ich Änderungen an einem Repository festschreiben, in dem ich ein Mitarbeiter bin?Git: Push abgelehnt

Das ist, was ich getan habe:

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 

Ich will nur meinen Teil aktualisieren und sie in das Repository zu begehen. Ich habe kein eigenes Repository.

Danke

+1

* "Warnung: keine gemeinsamen Commits" * - haben Sie beide von einem leeren Repo starten? Sicher hast du die richtigen Fernbedienungen? – jonrsharpe

+0

Wir alle haben den gleichen Code auf unseren Laptops. Dann hat mein Temmember ein Repo erstellt und den gesamten Code hineingeschrieben. Ich habe eine kleine Änderung an meinem Teil des Codes vorgenommen und kann sie jetzt nicht mehr übernehmen (( – AnaF

+0

) Hast du aus diesem Repo gezogen, bevor du versucht hast, deine Änderungen hinzuzufügen? Wenn du von einer Pre-Repo-Version des Codes gestartet hast, brauchst du klonen * dann * füge deine Änderungen hinzu – jonrsharpe

Antwort

2

Sieht aus wie Ihre zwei Master Zweige abgezweigt haben.

# 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 

bearbeiten

ich den Teil über dieses ist ein brandneues Repo verpasst .. macht es etwas leichter

# 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

alles funktioniert !!!!!!!!!!!!!!!!!!!!!!!! Danke !!!!! Ich verbrachte 3 Stunden versuchen, es zu lösen – AnaF

+0

froh, es zu hören! Git kann ein wirklich mächtiges Werkzeug sein, und ich schlage vor, Sie lesen es auf, bevor Sie versuchen, Sie se in einer Teamumgebung. Wenn Sie nicht sicher sind, was Sie tun, wie Sie sehen können, wird es recht schnell ziemlich chaotisch werden ... Happy Coding: D –