2016-04-01 6 views
-2

Meine Frage ist sehr einfach, aber immer noch ist es unklar für mich. Ich arbeite an einem Rails-Projekt mit mehreren Entwicklern. Alle können das Projekt ziehen oder schieben. Lassen Sie mich mein Szenario erklären. Wenn ich zum ersten Mal Änderungen an meinem Code vornehme und die anderen Entwickler auch Änderungen vornehmen, kann ich das tun, wenn ich versuche, das Projekt zu pushen. Aber die anderen Entwickler haben Probleme mit dem Projekt. Wenn sie in der Lage sind, Änderungen vorzunehmen und das Projekt zu ziehen, kann ich das Projekt nicht pushen oder ziehen. Dies ist, wie wir das Projekt schieben zuerst:Probleme mit dem Ziehen oder Drücken der Code

git add . 
git commit . 
git pull origin master 

aber der Fehler kommt Warnung: Kann nicht binäre Dateien verschmelzen oder erhalte ich den Fehler git pull mit „Untracked Arbeitsbaum-Datei‚blah‘nicht überschrieben werden würde durch merge

+0

Bitte prüfen Git Tutorial lösen, ist das Setup in einem Chaos. Sie möchten wahrscheinlich keine Binärdateien übertragen. –

+0

Ich habe tatsächlich das Tutorial gesehen, aber war ziemlich unklar, deshalb habe ich meine Fehler über sie –

+0

Sie müssen mit Feature-Filialen arbeiten –

Antwort

1

Das Problem kommt, weil Sie und Ihr Freund Änderungen in der gleichen Zeile der Datei tun und Git ist nicht in der Lage zu entscheiden, welche zu nehmen. In diesem Fall ist es besser, zuerst den Stash zu speichern, um den Code zu speichern. Der Code wird: -

git stash :- To save your code 

git pull :- To pull the code from git 

git stash apply :- To merge your changes with the pulled files, if any merging error is coming then it will hit an error saying merge-conflict,you have to resolve that manually. 

git add :- To add the files 

git commit -m "Commit message" :- To commit it 

git push :- To push to the repo. 

Ich denke, das Ihr Problem

0

git checkout akzeptiert --ours oder --theirs Optionen für Fälle wie diese. Also, wenn Sie einen Merge-Konflikt haben, und Sie wissen, dass Sie nur die Datei aus dem Zweig wollen Sie wachsen zusammen, die Sie tun können:

$ git checkout --theirs -- path/to/conflicted-file.txt 

diese Version der Datei zu verwenden. Ebenso, wenn Sie wissen, dass Sie Ihre Version wollen (nicht das fusionierte wird) können Sie verwenden

$ git checkout --ours -- path/to/conflicted-file.txt 

ref: Resolving a Git conflict with binary files

In Ihrem Fall ist die Datei ‚blah‘ im Arbeitsverzeichnis von Remote-Standort . damit du einen von ihnen behalten kannst.

Verwandte Themen