我做了两个文件的合并,现在我试图提交,但它用以下数据打开VIM,现在我完全迷失了。 (我对VIM没有经验)
Merge branch 'master' of nodester.com:/node/git/lolcoder/****-******
Conflicts:
.gitignore
server.js
#
# It looks like you may be committing a merge.
# If this is not correct, please remove the file
# .git/MERGE_HEAD
# and try again.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .project
~
~
~
".git/COMMIT_EDITMSG" 19L, 521C 1,1 All
我从这里做什么?
以下是该方案:
我在github上有一个node.js项目,现在我正在尝试将它推送到nodester的git repo(所以我现在有2个遥控器用于我的项目)。但在我推送到nodester之前,我需要修复2个与在nodeter上生成的文件冲突的文件。我解决了与git merge -y
的冲突,现在我想提交然后推送。
这是我尝试推送到nodester时遇到的错误:
Nodester!
To git@nodester.com:/node/git/lolcoder/****-**************.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@nodester.com:/node/git/lolcoder/****-************.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
答案 0 :(得分:14)
Git正在打开vim因为您的环境变量EDITOR设置为vim,而Git认为您需要为合并操作提供提交消息,因此它打开一个编辑器供您输入。
您可以通过将环境的EDITOR变量更改为您喜欢的内容,或者在git merge -y
答案 1 :(得分:2)
如果你想要的是执行合并并避免打开任何文本编辑器,你可以在合并命令中添加--no-edit
,这样它就不会打开提交消息的编辑器。
答案 2 :(得分:0)
如果您希望完全跳过文本编辑器并使用默认的合并消息,只需将以下行添加到.bash_profile
,.bashrc
或.zshrc
文件中:
export GIT_MERGE_AUTOEDIT=no