拉或推代码的问题

时间:2016-04-01 04:52:23

标签: ruby-on-rails git github

我的问题非常基本,但对我来说还不清楚。我正在与多个开发人员合作开发一个rails项目。所有这些都可以拉动或推动项目。那么让我解释一下我的情景。如果我第一次在我的代码中进行更改而其他开发人员也在进行更改,那么当我尝试推送项目时,我能够这样做。但另一位开发人员在拉动该项目时遇到了问题。之后如果他们能够进行更改并拉动项目,那么我无法推送项目或拉动项目。这就是我们首先推动项目的方式:

git add .
git commit .
git pull origin master 

但错误来自警告:无法合并二进制文件或者我收到错误 git pull失败,“未加工作的工作树文件'blah'将被合并覆盖 < / p>

2 个答案:

答案 0 :(得分:1)

问题来了,因为你和你的朋友在文件的同一行上做了更改而git无法决定采取哪一个。所以在这种情况下,最好首先使用stash来保存代码。 代码将是: -

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.

我认为这将解决您的问题

答案 1 :(得分:0)

git checkout接受--ours或 - 这些案例的选项。因此,如果您有合并冲突,并且您知道您只想要合并的分支中的文件,则可以执行以下操作:

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

使用该版本的文件。同样,如果您知道您想要您的版本(不是合并的版本),您可以使用

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

REF:Resolving a Git conflict with binary files

在您的情况下,该文件是&#39; blah&#39;在远程位置的工作目录中。所以你可以保留其中一个。