在从 bash 迁移到 zsh 时,这将我的 gl 别名从“git log”更改为“git pull”。然后我在我的 octopress 博客中运行它,首先在分支“master”上,然后在分支“source”上
大错。在 Github 上,origin/master 分支用于部署,而 origin/source 是您的博客源。
在“主”分支上,我似乎提取了 Octopress 的所有最新提交。我猜我不需要关心这个,因为我使用源分支进行生成。(正确的?)
接下来,当拉入我的源分支时:
- 通过在 Vim 中点击 :cq 中止合并提交。
- 然后我注意到我将 _deploy 目录中的所有内容都添加到了顶级目录中。
我考虑使用 git clean 删除额外的目录,但这似乎想删除被忽略的文件/目录(使用干运行选项!)。
因此,手动 rm -rf 在 git 状态中显示为未跟踪的目录/文件列表。
所以我的 git status 现在看起来很干净。如果我列出遥控器,我会得到:
$ git remote show origin
* remote origin
Fetch URL: git@github.com:justin808/justin808.github.io.git
Push URL: git@github.com:justin808/justin808.github.io.git
HEAD branch: master
Remote branches:
flattr tracked
master tracked
source tracked
Local branch configured for 'git pull':
source merges with remote master
Local refs configured for 'git push':
flattr pushes to flattr (up to date)
master pushes to master (local out of date)
source pushes to source (up to date)
还有什么我需要检查的吗?
有什么办法可以让这个更白痴的教授,这样我就不会在这个设置中意外地 git pull 吗?
更新
- 当我使用 magit 时,我会看到大量未拉取和未推送的提交
- 我的 git 配置有这个:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = false [remote "octopress"] url = git://github.com/imathis/octopress.git fetch = +refs/heads/*:refs/remotes/octopress/* [branch "source"] remote = origin merge = refs/heads/master [remote "origin"] url = git@github.com:justin808/justin808.github.io.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = octopress merge = refs/heads/master
我猜问题是我的源分支不应该有
merge = refs/heads/master
也许应该是:
merge = refs/heads/source
或者也许我应该简单地删除那行?实际上没有,因为那时我没有在我的 zsh 提示中获得关于分支是否在 github 后面的正确信息。