相关疑难解决方法(0)

让现有的Git分支跟踪一个远程分支?

我知道如何创建一个跟踪远程分支的新分支,但是如何使现有分支跟踪远程分支?

我知道我可以编辑.git/config文件,但似乎应该有一个更简单的方法.

git branch git-branch

3437
推荐指数
19
解决办法
129万
查看次数

你如何创建一个远程Git分支?

我创建了一个本地分支,我想在上游"推".Stack Overflow上有一个关于如何跟踪新创建的远程分支的类似问题.

但是,我的工作流程略有不同.首先,我想创建一个本地分支,当我满意并希望分享我的分支时,我只会将其推送到上游.

  • 我该怎么办?(我的谷歌搜索似乎没有提出任何东西).
  • 我如何告诉我的同事从上游存储库中取出它?

更新使用Git 2.0,我在下面写了一个更简单的答案:https://stackoverflow.com/a/27185855/109305

git branch git-branch

3030
推荐指数
18
解决办法
200万
查看次数

将现有的,未提交的工作移动到Git中的新分支

我开始研究一个新功能,经过一段时间的编码,我决定这个功能应该在它自己的分支上.

如何将现有的未提交更改移动到新分支并重置当前更改?

我想重置当前分支,同时保留新功能的现有工作.

git git-stash git-reset git-branch

2982
推荐指数
8
解决办法
61万
查看次数

你如何推动一个Git分支(而没有其他分支)?

我正在开发一个本地git存储库.有两个分支,masterfeature_x.

我想推feature_x送到远程仓库,但我不想在master分支上推送更改.

git push origin feature_x从我的feature_x分支(feature_x分支已经存在远程的)工作?

我不想在我的盒子上测试这个,因为我现在无法推动掌握.

git git-push

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

为什么我必须"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万
查看次数

Visual Studio TFS Git没有看到任何更改

我没有得到关于Visual Studio的TIT Git的东西.

我在GFS上克隆了一个同事的TFS解决方案并开始添加代码.然后我意识到我需要自己的分支来进行我正在进行的更改,所以按照将新的本地分支推送到远程Git仓库的指示并跟踪它我也跑了

git checkout -b e4ctim
git push -u origin e4ctim
Run Code Online (Sandbox Code Playgroud)

当我对代码进行更改时,visual studio会在代码文件中显示熟悉的红色勾号图标,以确保更改已触发要检出的文件:

VS红色勾号

然后当我保存文件时,Visual Studio将图标返回到蓝色挂锁.我假设从red-tick到blue挂锁的这种变化表示该更改已在Git中本地签入:

VS蓝锁

但是当我查看修改过的文件的历史时,没有!

没有历史

我想在本地提交我的更改并将它们与TFS服务器同步.

Visual Studio根本看不到任何更改:

VS TFS更改

从命令行我可以看到Git通过运行命令注意到了我的所有修改

git status
Run Code Online (Sandbox Code Playgroud)

并且看到许多更改没有为提交和未跟踪文件暂存.

git status cmd

借用我可以使用的Git书

git add
Run Code Online (Sandbox Code Playgroud)

或者更具体地说

git add -u .
Run Code Online (Sandbox Code Playgroud)

准备好提交文件的阶段,但是我不愿意这样做,因为在Git存储库中开发你的应用程序(跟踪,提交) Visual Studio文档说明:

问:Git舞台在哪里?
答:如果您是经验丰富的Git用户,您可能已经注意到Visual Studio处理的更改与命令提示符不同.您可能想知道"包含的更改"部分是否包含您的暂存更改.实际上,Visual Studio通常会为您绕过Git阶段.提交更改时,Visual Studio会同时进行分段并提交它们.将文件添加到Git存储库时会发生一个例外; Visual Studio确实进行了这种改变.

Visual Studio同时进行阶段和提交更改.但是为什么它没有列出我对跟踪文件所做的任何修改作为更改,从而让我提交它们?

tfs visual-studio-2013

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

如何在GitHub上从master创建开发分支

我在GitHub上创建了一个repo,master到目前为止只有一个分支.我的本地工作副本与masterGitHub上的远程/原点完全一致.

我现在想development在GitHub上创建一个分支,以便我团队中的其他人可以开始推动更改development(而不是直接master)并提交PR,请求代码审查等.

所以我尝试development在本地创建一个新分支并推送它:

git checkout -b development
git push origin development:master
Run Code Online (Sandbox Code Playgroud)

但是git只是说Everything up-to-date.所以我问:

如果我是最新的master,我如何创建一个development包含精确副本的远程分支master

git github

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

扩展Git功能

我想知道是否有一种简单的方法来扩展Git命令.

所以我可以创建如下命令:

git my-custom-made-extension --my-options <my-other-arguments>
Run Code Online (Sandbox Code Playgroud)

在一个完美的世界里,我可以用它喜欢的任何语言来完成它,并且我能够相当容易地将我定制的扩展添加到任何开发环境中.

比方说,像Vim 插件的支持?

git

21
推荐指数
2
解决办法
5368
查看次数

使用git自动跟踪远程分支

当我使用本地分支时mybranch,我希望能够origin mybranch使用git pushand和push git pull.正因为如此,我不得不不厌其烦地写出来git push origin mybranchgit pull origin mybranch.如果我尝试使用git pull例如,我得到:

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> mybranch
Run Code Online (Sandbox Code Playgroud)

如果我进入git branch --set-upstream-to=origin/mybranch mybranch,那么它的工作原理.但这几乎和以前的命令一样乏味.我可以让git做这个默认行为吗?我已经看到了类似的问题并且答案倾向于建议更新版本的git这样做,但我使用git版本2.1.3,这是相当新的,所以它不能只是那样.

git

12
推荐指数
3
解决办法
5025
查看次数

如何使用跟踪选项将新分支推送到远程存储库

我正在从主线分支创建的本地分支(feature1)上工作.我想将此本地分支推送到远程存储库.如何使用跟踪选项在git中实现此目的.

git

9
推荐指数
1
解决办法
6933
查看次数