- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我已经尝试进行一些更改并将其推送到 GitHub。我从另一台计算机获取更改。当我执行 git status
时,它会报告:
On branch MyTestBranch
nothing to commit, working directory clean
这很奇怪,因为我确定已获取更改。我什至可以对获取的这些更改进行 merge !
事实上,当我走到我 friend 的电脑前并执行 git status
时,我可以看到:
Your branch is behind 'origin/MyTestBranch' by 1 commit, and can be fast-forwarded.
但为什么 Git 没有报告类似我的 origin/MyTestBranch
的信息是提前提交了多少次,或者我的分支是否与 origin/MyTestBranch
同步?
最佳答案
此时我的猜测(我仍在等待 git branch -vv
或 git rev-parse --symbolic-full-name "@{u}"
结果)是您没有 origin/MyTestBranch
设置为 MyTestBranch
的上游.
要将分支设置为当前分支的上游,请使用:
git branch --set-upstream-to <em>upstream</em>
1
在这种情况下扩展为:
git branch --set-upstream-to origin/MyTestBranch
要删除上游设置,请使用 git branch --unset-upstream
.
上游设置的存在与否主要影响git status
是否存在。可以告诉你是否领先和/或落后,以及是否git merge
和 git rebase
可以在没有额外参数的情况下完成他们的工作。所以它基本上只是一个方便的设置。
通常,当您通过 git checkout
首次 checkout 分支时,会自动设置上游。基于远程跟踪分支创建它。例如,在您的第一个 git clone
, Git 最后运行,相当于:
git checkout master
即使你没有 master
然而。然后 Git 发现你有 origin/master
(并且没有其他 <em>remote</em>/master
,因此对于使用哪个 Remote 毫无疑问),并且相当于:
git checkout -b master --track origin/master
创建本地 master
指向与远程跟踪分支相同的提交 origin/master
,并设置 origin/master
作为 master
的上游, 一切都在一次大的“我的意思是什么”中落下。
当你创建一个新的本地分支,还没有推送到上游时,没有origin/<em>whatever</em>
本地分支的远程跟踪分支。2 在这种情况下,您必须手动设置上游,或使用 git push -u ...
: -u
基本上告诉git push
运行 git branch --set-upstream-to
为您准备的(尽管此时它实际上全部内置在 C 代码中)。
1如果您受困于真正古老的 Git(1.8.0 之前的版本),则必须使用 git branch --set-upstream
,这很难做对,或者 git config
,这也很难做到正确。如果可能,请升级到现代 Git 版本。
2这里的词组——名词如 branch,带形容词的名词如 local branch 和 remote-tracking branch,以及动词如 set-upstream-to 和动名词如 tracking——相当不幸。 Git 术语,用一种简短而令人难忘的盎格鲁-撒克逊语的方式来代替一些多音节的新词组,真是太糟糕了。3
3或其他盎格鲁-撒克逊语的选择词。
关于git - 为什么我的 Git 状态不显示我是否与我的远程伙伴保持同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37669297/
自从我进行任何 PHP 编程以来已经有一段时间了,所以我试图开始生锈。 我正在尝试创建一个关联数组结构。 [results] [total] [people] [
我正在将一些模块从 v7 迁移到 v10 现在我有这些继承 res.partner 的方法 @api.depends('company_id') def _get_country_code(self)
我是一名优秀的程序员,十分优秀!