相关疑难解决方法(0)

Git-跟踪远程分支

我是Mercurial用户,我对远程分支的行为感到困惑.我有一个远程分支origin/dev,我想在本地分支上复制它dev.我想要的是:

  • 每当我git pull,变化origin/dev被合并到dev
  • 每当我git push,变化dev被合并到origin/dev

所以我创建了一个跟踪分支

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

据我所知,这应该完全符合我的需要.

不过,我正在开发一个功能分支并发布了一个git pull.当我后来发出的时候,git checkout dev我收到了令人费解的消息

您的分支在2个提交后面的'origin/master_dev'后面,可以快进.

所以看来我的本地分支毕竟没有更新.每当我拉动并且我目前不在那个分支时,有没有办法让分支更新到远程分支?如果没有,我是否正确git merge分支开发(没有任何参数)足以恢复情况?

git branch

7
推荐指数
1
解决办法
4886
查看次数

如何在没有--set-upstream的情况下推送远程服务器上不存在的新分支?

这种情况是我在远程服务器上没有存储库,只有一个帐户。然后,我在本地运行以下命令,其中x是用户名,y是仅存在于我的本地系统上的项目名称。

git init  
git remote add buckety https://x@bitbucket.org/x/y.git  
git add .  
git commit --message "Here we go..."  
git push buckety
Run Code Online (Sandbox Code Playgroud)

现在我收到错误提示我设置远程上游。我可以这样做(--set-upstream或者-u),但是根据我的 googlearching,它已被弃用。(实际上很奇怪,控制台中的建议仍然提到它。)

我想以正确的方式做到这一点,并且我已经搜索了--track--set-upstream-to。但是,就我所见,我在 Git 上的特定场景没有示例,并且我测试的操作因错误而失败。

我应该如何在不撤回使用已弃用选项的情况下创建远程分支?我可能想在远程创建一个跟踪分支,以便:

  1. 本地分支 A 对应远程分支 A,但也
  2. 本地分支 A 对应远程分支 B。

最好,我想在推送之前配置它,但我不确定如何配置。我无法使用结帐,因为该分支尚不存在。出于同样的原因,我不能使用set-upstream-to

git version-control branch git-branch

7
推荐指数
1
解决办法
7868
查看次数

如何设置我的.git/config以便能够从多个远程存储库推送/拉出?

好吧,我有三台不同的计算机,我现在的配置都不同,所以我必须在每个计算机上推/拉,这非常麻烦.我想要做的是有一个配置文件,我可以用于所有三个,这将允许我执行以下操作:

git push unfuddle
git pull heroku
git push unfuddle
git pull heroku
Run Code Online (Sandbox Code Playgroud)

我是git的新手,所以我知道也许我需要heroku master或者'heroku origin`或者somethign?

这是我的配置文件现在的样子:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@heroku.com:HEROKU-APP.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "unfuddle"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@UNFUDDLE-APP.unfuddle.com:UNFUDDLE-APP/UNFUDDLE-APP.git
Run Code Online (Sandbox Code Playgroud)

显然,改变了git网址以保护无辜者.我应该改变什么才能轻松推动和拉出这两个回购?

git heroku unfuddle multiple-repositories

6
推荐指数
1
解决办法
2672
查看次数

repo start和git checkout -b之间的区别

在Android内核中做一些工作.我对git非常熟悉,但对repo并不是特别熟悉,所以我阅读了以下文档:http://source.android.com/source/version-control.html.从我的理解,以及试验主题分支,repo start BRANCH_NAME是相同的git checkout -b BRANCH_NAME.我的理解是正确的,还是有一些我遗漏的微妙,重要的细节?

git repository android-source

6
推荐指数
2
解决办法
6673
查看次数

使用JGit使现有的Git分支跟踪一个远程分支?

我正在使用JGit创建一个新的git存储库,以及该文件夹中已存在的所有内容,我保存为新分支.

我在用

Git.init().setDirectory(workingDir).call();
Run Code Online (Sandbox Code Playgroud)

(在上面的语句之后创建了默认的master分支,所以我将它重命名为"backupBranch").因为主人我以后从远程主人克隆.

问题是当我按下backupbranch时,它被推动但没有我能够建立的远程跟踪.

来自终端:如果我使用git branch -vv结果是

master       5f1994c [origin/master] commitmsg
backupbranch 7a4d671 taking backup of file already in MyTests Folder..
Run Code Online (Sandbox Code Playgroud)

根据链接使现有的Git分支跟踪一个远程分支?我可以使用 git branch -u upstream/foo终端指定推送backupbranch后的任何时间.

如何使用JGit实现它.

以下是我正在使用的代码

创建backupbranch

git.branchRename().setNewName(backUpName).call();
git.add().addFilepattern(".").call();
RevCommit commit = git.commit().setMessage("taking backup of file already in MyTests Folder..").call();
Run Code Online (Sandbox Code Playgroud)

然后第一次推它.

Iterable<PushResult> pushResult = git.push().call();
Run Code Online (Sandbox Code Playgroud)

请建议我为现有分支指定远程跟踪的方式.

git github jgit

6
推荐指数
1
解决办法
515
查看次数

了解git:connect branch到远程存储库

我在github上有一个存储库,比如testrepo.现在我想建立一个本地存储库repo,它有一个分支origin-master,我希望能够从存储库编辑东西.

repo/origin-master  <-------->  origin/master
Run Code Online (Sandbox Code Playgroud)

克隆工作正常:

mkdir repo && cd repo && git init 
# not necessary of course:
echo "master" > master && git add master && git ci -m "master"
git remote add origin git@github.com:<username>/testrepo.git
git fetch origin
git branch --set-upstream origin-master origin/master 
git checkout origin-master
# create a new file:
echo "for origin-master" > orig-master && git add orig-master && git ci -m "orig-master"
Run Code Online (Sandbox Code Playgroud)

git push origin 
To git@github.com:<username>/testrepo.git
 ! [rejected]        master -> …
Run Code Online (Sandbox Code Playgroud)

git

5
推荐指数
1
解决办法
2685
查看次数

git"你的分支和'origin/master'在远程回购的新克隆之后已经分歧了

当我克隆一个远程存储库时

  1. git clone 'repo_url'
  2. git pull
  3. git status

我收到这条消息 -

On branch master
Your branch and 'origin/master' have diverged,
and have 41 and 20 different commits each, respectively
Run Code Online (Sandbox Code Playgroud)

当我使用时,git pull -a我没有这个问题.

远程仓库上的东西是不同步的吗?与HEAD和主人?我如何解决它?

编辑1:

当我运行git branch -a:这就是它的样子......

$ git branch -a

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/clothes
  remotes/origin/dunnesBranch
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

编辑2:

在我看来,origin/master并没有指向最新的代码......然后我运行'git clone'然后运行 git reset --hard origin/master 'git pull'并尝试合并因冲突而失败...

我想......远程仓库的HEAD指向最新的提交,origin/master指向另一个不同的旧提交...我可以在运行git show时验证这一点...

git

5
推荐指数
1
解决办法
6991
查看次数

git推送到多个遥控器上的不同分支

我有一个本地存储库,我想推送到多个远程存储库(firstremote,secondremote).这可以通过编辑.git/config和创建remote具有多个urls 的新功能来完成.

但另外我想将我的本地分支推送到不同名称的远程分支.例如,push(mybranch)到一个名为firstbranchon firstremotesecondbranchon 的分支secondremote.

为此,我不知道如何指定不同的上游分支名称.

注意:我想用单个自动进行推送git push.

git branch push

5
推荐指数
1
解决办法
821
查看次数

如何在git中使用分支跟踪引用?

我希望在更新请求时使用git在本地跟踪Github拉取请求(例如:添加更多提交)。Github提供了一种方法,您可以通过检出只读refs / pull /来处理回购请求中的请求。

换句话说,如果有人向我的仓库提交了拉取请求,我可以在本地检索该请求:

git fetch upstream pull/123/head:123
git checkout 123
Run Code Online (Sandbox Code Playgroud)

当有人随后更新该拉取请求时,就会出现问题。我无法弄清楚如何更新本地分支,因为git pull无法更新本地副本:

$ 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=<remote>/<branch> 123
Run Code Online (Sandbox Code Playgroud)

我试过了:

git branch --set-upstream-to=upstream/refs/pull/123/head 123
git branch --set-upstream-to=upstream/refs/pull/123 123
git merge --ff-only refs/pull/123/head
merge: refs/pull/123/head - not something …
Run Code Online (Sandbox Code Playgroud)

git github

5
推荐指数
1
解决办法
285
查看次数

git 为所有分支设置远程而不推送

是否有任何 git 命令可以为本地存储库中的分支(完美适用于所有分支)设置远程存储库,而无需将本地提交推送到远程?

简而言之,我想要得到的所有东西都可以通过使用 flag 来完成--all git push --all

也可以选择设置上游-u git push --all -u

但我不想推动任何提交。

期望的结果只是设置本地和远程存储库之间的链接,git push因此如果您git push将来不需要指定远程,也可以跳过--all选项。

git configuration

5
推荐指数
1
解决办法
1909
查看次数