2

在从 bash 迁移到 zsh 时,这将我的 gl 别名从“git log”更改为“git pull”。然后我在我的 octopress 博客中运行它,首先在分支“master”上,然后在分支“source”上

大错。在 Github 上,origin/master 分支用于部署,而 origin/source 是您的博客源。

在“主”分支上,我似乎提取了 Octopress 的所有最新提交。我猜我不需要关心这个,因为我使用源分支进行生成。(正确的?)

接下来,当拉入我的源分支时:

  1. 通过在 Vim 中点击 :cq 中止合并提交。
  2. 然后我注意到我将 _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 吗?

更新

  1. 当我使用 magit 时,我会看到大量未拉取和未推送的提交
  2. 我的 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 后面的正确信息。

4

1 回答 1

0

如果您需要更改“source”的上游分支,您可以执行以下操作:

git branch --set-upstream-to source origin/source
# or
git branch -u source origin/source

(更多内容请参见“如何更改 git 分支正在跟踪的远程? ”)

于 2013-09-30T06:08:27.263 回答