相关疑难解决方法(0)

为什么我需要一直做`--set-upstream`?

我在Git中创建了一个新分支:

git branch my_branch
Run Code Online (Sandbox Code Playgroud)

推它:

git push origin my_branch
Run Code Online (Sandbox Code Playgroud)

现在说有人在服务器上做了一些更改,我想从中拉出来origin/my_branch.我做:

git pull
Run Code Online (Sandbox Code Playgroud)

但我得到:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like …
Run Code Online (Sandbox Code Playgroud)

git git-branch

1364
推荐指数
18
解决办法
93万
查看次数

"下游"和"上游"的定义

我已经开始玩Git并遇到过"上游"和"下游"这两个词.我之前见过这些,但从未完全理解它们.这些术语在SCM(软件配置管理工具)和源代码的上下文中意味着什么?

versioning git version-control terminology definition

869
推荐指数
6
解决办法
26万
查看次数

你如何停止跟踪Git中的远程分支?

你如何停止跟踪Git中的远程分支?

我要求停止跟踪,因为在我的具体情况下,我想删除本地分支,但不是远程分支.删除本地删除并将删除推送到远程也将删除远程分支:

我可以这么做吗git branch -d the_branch,以后我不会传播它git push吗?

如果我git push origin :the_branch以后再跑,它会传播吗?

git branch git-track

504
推荐指数
6
解决办法
20万
查看次数

git错误:无法推送一些引用

出于某种原因,我现在无法推动,而我昨天可以做到.也许我搞砸了一些东西.

这是发生的事情:

当我使用git push origin master时

gitbashscr

我的工作目录和远程存储库是什么样的:

在此输入图像描述

git github

368
推荐指数
22
解决办法
78万
查看次数

' - 上游'做什么?

怎么--set-upstream办?

我试着通过阅读手册来理解它,但我并没有完全理解它.

git

288
推荐指数
4
解决办法
26万
查看次数

git checkout --track origin/branch和git checkout -b branch origin/branch之间的区别

有人知道切换和跟踪远程分支这两个命令之间的区别吗?

git checkout -b branch origin/branch
git checkout --track origin/branch
Run Code Online (Sandbox Code Playgroud)

我认为两者都跟踪远程分支,所以我可以将我的更改推送到原点上的分支,对吧?

有什么实际差异吗?

谢谢!

git branch git-checkout git-branch

196
推荐指数
3
解决办法
13万
查看次数

致命的:当前的分支主机没有上游分支

我正在尝试将我的一个项目推送到github,并且我一直收到此错误:

peeplesoft@jane3:~/846156 (master) $ git push

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

     git push --set-upstream origin master
Run Code Online (Sandbox Code Playgroud)

所以我试了一下,得到了这个:

peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master

fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)

另一个stackoverflow线程建议我尝试以下,结果令人失望.

peeplesoft@jane3:~/846156 (master) $ git push -u origin master

fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)

然后我尝试了这个:

peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD

peeplesoft@jane3:~/846156 (master) $ git push

fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)

任何提示?

git github

183
推荐指数
13
解决办法
40万
查看次数

如何推送到非裸Git存储库?

我通常通过ssh(screen和vim)在远程服务器上工作,我有一个Git存储库.有时我不上网,所以我的笔记本电脑上有一个单独的存储库(从我的遥控器克隆).

但是,我无法从远程端的这个存储库中取出,因为我通常在防火墙后面,或者我没有公共IP.

我已经读过,我应该只是推到一个裸存储库.我应该如何将更改推送到远程存储库?

git git-push git-non-bare-repository

139
推荐指数
4
解决办法
5万
查看次数

为什么我必须"git push --set-upstream origin <branch>"?

我创建了一个用于测试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)

git branch

92
推荐指数
8
解决办法
16万
查看次数

很难理解git-fetch

我很难理解git-fetch的细微差别.我知道做一个fetch,将远程refs提取到本地跟踪分支.

我有几个问题:

  1. 是否有可能本地跟踪分支不存在?如果是,那么它会自动创建吗?

  2. 如果我执行fetch并指定非跟踪分支作为目标,会发生什么?

  3. git-fetch的手册页指定:

    git-fetch <options> <repository> <refspec>
    
    Run Code Online (Sandbox Code Playgroud)

我如何使用refspec从远程主站获取内容到其远程跟踪分支?我相信如果我现在的HEAD在主人身上并且我跑了,这可能是可能的

git fetch origin master

但是,我可以使用<+?src:dest>refspec来实现同样的目的吗?我认为这将有助于我更好地理解这些概念.

还有一个问题:

我的.git/config文件有以下行用于获取(仅显示相关行):

fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

有人可以解释这条线的确切含义吗?

git git-fetch

52
推荐指数
3
解决办法
3万
查看次数