我被困住了,无法逃脱.它说:
"type :quit<Enter> to quit VIM"
Run Code Online (Sandbox Code Playgroud)
但是当我输入它时它只是出现在物体中.
我在Git中有一个存储库.我做了一个分支,然后对主人和分支做了一些改变.
然后,几十次提交之后,我意识到分支处于比主设备好得多的状态,所以我希望分支"成为"主设备并忽略主设备上的更改.
我无法合并它,因为我不想在master上保留更改.我该怎么办?
额外:在这种情况下,'old'主服务器已经被push转到另一个存储库,例如GitHub.这怎么改变了?
我听过很多关于Vim的消息,包括优点和缺点.看起来你应该(作为开发人员)使用Vim比使用任何其他编辑器更快.我正在使用Vim来做一些基本的东西,而且我最好用Vim的效率低 10倍.
当你谈论速度时你应该关心的两件事(你可能不太关心它们,但你应该这么做)是:
这里有两个例子,说明为什么我对Vim的效率低得多.
复制/剪切和粘贴.我一直这样做.使用所有当代编辑器,您可以Shift 用左手按下,然后用右手移动光标以选择文本.然后Ctrl+ C副本,你移动光标和Ctrl+ V贴.
有了Vim,它太可怕了:
yy 复制一行(你几乎不想要整行!)[number xx]yy将xx行复制到缓冲区中.但你永远不知道你是否选择了你想要的东西.我经常做的[number xx]dd,然后u撤消!另一个例子?搜索和替换.
/,然后键入要搜索的内容,然后如果\在每个特殊字符前放置了一些特殊字符,则按Enter.与Vim的一切都是这样的:似乎我不知道如何以正确的方式处理它.
我的问题是:
你使用Vim的方式是什么让你比现代编辑更有效率?
我正在与一些开发人员合作,在BitBucket上使用git.我们都在dev分支机构工作,而不是master直到发布.
其中一个开发人员提交了错误的代码,意外地覆盖了我自己的代码,现在我正在尝试将正确的代码推回到repo.我已经阅读了这个错误几天了,我不能再推送回购,因为我收到以下错误:
! [rejected] master -> dev (fetch first)
error: failed to push some refs to 'https://myusername@bitbucket.org/repo_user/repo_name.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.
Run Code Online (Sandbox Code Playgroud)
我遵循说明 …
因此,我遇到了一个错误,内容是“请输入提交消息来解释为什么需要进行此合并,特别是如果它将更新的上游合并到主题分支中”,我在此线程中找到了解决方案。
然而答案之一说,你的文本编辑器是问题所在,所以将其更改为 Atom,并且在不知道如何在 Atom 中使用编辑器的情况下,我通过以下代码将 git 编辑器更改为 Atom:
git config --global core.editor "atom --wait"
Run Code Online (Sandbox Code Playgroud)
我正在使用 Git Bash,我想回到它作为我的核心编辑器,但我似乎找不到一种方法来做到这一点。
PS 我刚接触 Git 几天,所以请原谅我犯的任何基本错误。
在拉我之前就跑了git reset HEAD --hard.然后我git pull编辑并得到了消息
请输入提交消息以解释为什么需要合并,特别是如果它合并更新的上游...
是否可以merge --abort从文本编辑器或按照这些说明输入合并消息后发出,或者我必须在合并后撤消合并?
我的想法:关闭终端,重新打开MINGW,然后尝试合并 - 直播.这会让我的本地仓库损坏吗?