我今天最终得到了一个独立的头,同样的问题如下所述:git push说一切都是最新的,即使我有本地更改
据我所知,我没有做任何与众不同的事情,只是从我当地的回购中提交和推送.
那我怎么最终得到一个detached HEAD?
有人知道切换和跟踪远程分支这两个命令之间的区别吗?
git checkout -b branch origin/branch
git checkout --track origin/branch
Run Code Online (Sandbox Code Playgroud)
我认为两者都跟踪远程分支,所以我可以将我的更改推送到原点上的分支,对吧?
有什么实际差异吗?
谢谢!
我是新手git,我在练习.我创建了一个本地分支,但是当我完成时,我看到git push我的分支没有上传到存储库.我必须这样做:git push -u origin --all.
为什么是这样?不是分支是默认推送的新变化吗?为什么我需要运行第二个命令?
一个项目可以在Git中有两个(或更多)"起源"吗?
具体来说,添加github存储库时会出现此错误:
$ git remote add origin https://github.com/Company_Name/repository_name.git
fatal: remote origin already exists.
Run Code Online (Sandbox Code Playgroud) 我创建了一个用于测试Solaris和Sun Studio的本地分支.然后我把分支推到了上游.提交更改并尝试推送更改后:
$ git commit blake2.cpp -m "Add workaround for missing _mm_set_epi64x"
[solaris 7ad22ff] Add workaround for missing _mm_set_epi64x
1 file changed, 5 insertions(+)
$ git push
fatal: The current branch solaris has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin solaris
Run Code Online (Sandbox Code Playgroud)
为什么我要为此做一些特别的事情?
是否有任何合理的用例,有人会创建<branch>,推<branch>送到远程,然后声称提交<branch>不应该是<branch>?
我在Stack Overflow上关注了这个问题和答案:将一个新的本地分支推送到远程Git存储库并跟踪它.我猜它是另一个不完整或错误接受答案的例子.或者,它的另一个Git实例执行一项简单的任务并使其变得困难.
这是不同机器上的视图.分支显然存在,因此它被创建并推送:
$ git branch -a
alignas
* master
remotes/origin/HEAD -> origin/master
remotes/origin/alignas
remotes/origin/arm-neon …Run Code Online (Sandbox Code Playgroud)