标签: git-branch

Git:当我还没有拉取更新时,为什么 git 会说“你的分支与 origin/main 是最新的”?

我在本地分支机构,然后切换回main. 它说Your branch is up to date with origin/main,但当我git pull这样做时,它确实会拉出一堆新的更新。这是否意味着我的分支没有最新origin/main

git branch bitbucket git-branch

2
推荐指数
1
解决办法
4248
查看次数

获取自分支以来所有已编辑文件的列表

我想获得自主分支分支以来已编辑文件的列表(不是与主分支的最新头进行比较,而是与分支点的主分支进行比较)。

这可能吗?

这似乎是一件很常见的事情,但我的同事不知道 git 命令,也没有在网上找到任何东西(我猜用谷歌搜索有点困难)。

git git-branch git-history

2
推荐指数
1
解决办法
99
查看次数

Git rebase 与在功能分支上 rebase master 后合并

我正在学习变基,并看到了在功能分支上进行变基然后将其合并到主分支中的工作流程(作为示例):

git checkout feature
git rebase master
git checkout master
git merge feature
Run Code Online (Sandbox Code Playgroud)

然而,我看到最后一个命令的另一个类似选项是(而不是“git merge feature”):

git rebase feature
Run Code Online (Sandbox Code Playgroud)

在这种情况下,最后一部分有何不同?结果不会是与 master 之上的功能提交相同的线性时间线吗?

git git-merge git-rebase git-branch

2
推荐指数
1
解决办法
1349
查看次数

显示没有上游分支的所有提交

即使我没有上游分支,我也想在我的分支上显示所有本地提交。如果我有上游,我通常使用:

$ git log @{u}..$(git branch --show-current)

但是如果没有上游分支,这不起作用

我也尝试过Aleksander Monk的回答:

$ git log --branches --not --remotes

这接近我想要的,但这显示了所有分支上的所有本地提交。我想过滤它以仅显示我对当前分支的提交。

有没有办法通过管道或者有其他方法?

git commit git-branch

2
推荐指数
1
解决办法
170
查看次数

Intellij:在分支命名中使用默认下划线

我正在使用最新版本的 IntelliJ。当我创建新分支时,自动空间替换的行为似乎有所不同。例如,如果我过去将一个分支命名为“测试分支”,IntelliJ 会自动将名称转换为test_branch.

但现在,却变成了test-branch。我尝试搜索如何在设置中设置旧行为,但没有结果。你知道我可以在哪里设置这个吗?

git intellij-idea git-branch

2
推荐指数
1
解决办法
277
查看次数

对git中分支创建的困惑

在对分支进行一些更改后,master我决定从一个新的分支工作.我做git checkout -b new_branch_name了,创建了一个新的分支并检查出来.git status显示了我所做的改变master.

我很好奇,如果我的更改现在在两个分支(masternew_branch_name)或只是new_branch_name.所以我检查了一下master,注意到我的变化也在那里.所以我用这些改变了git checkout -- fileThatChanged.这些变化确实已经消失了master.

不幸的是,检查new_branch_name和运行git status显示我的更改也从该分支还原.

我想了解发生了什么,以后如何避免这种情况.

一种解决方案是在开始工作之前创建/签出新分支.

git version-control git-checkout git-branch

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

Git分支内容

当我创建一个新分支时,我看到的内容与"master"中的内容相同.

如何分离内容,以便分支中的任何内容仅在分支中,而在主分支中,保留在主分区中?

谢谢

git git-branch

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

Git更改主机原点/ HEAD和原点/主机

在我的Git存储库中,我有一组常规的提交。但是,最后四次提交只是一些原型代码,实际上应该是一个分支。我该如何返回到先前的提交,并将原型代码放到它自己的分支中。

在TortoiseGit中,我看到的是这样的东西。

A -- B -- C -- D -- E -- F
                         |
                       master
                     origin/master
                     origin/HEAD
Run Code Online (Sandbox Code Playgroud)

我想要的是:

A -- B -- C -- D -- E -- F
          |              |
        master       proto_branch
     origin/master
     origin/HEAD
Run Code Online (Sandbox Code Playgroud)

然后,当我处理所有的C分支时,我们可以proto_branch稍后将其合并到主流中。这样,如果我继续提交,它将看起来像这样。

A -- B -- C -- D -- E -- F
          |              |
          G              I
          |              |
          H          proto_branch
          |
        master
     origin/master
     origin/HEAD
Run Code Online (Sandbox Code Playgroud)

git github tortoisegit git-branch

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

我可以将修补程序推送到git中的标记

我有一个带标签的主分支(v1,v2等)..客户端仍然从构建服务器下载不同的版本.我们需要在每个版本上加上一个热修复(安全问题).现在我可以从每个标签中提取应用热修复但不知道如何再次推回到相同的标签?我不想再将旧版本推到主分支的前面..我不知道这是一种正确的方法吗?

git git-branch

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

修剪源分支在上游不再存在

这些分支在上游

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/gh-pages
  remotes/origin/master
  remotes/origin/next
  remotes/origin/translation
  remotes/origin/v1.0.1
  remotes/origin/videoConverter
Run Code Online (Sandbox Code Playgroud)

这些是我叉子上的树枝

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/beta
  remotes/origin/dashboardNewContent
  remotes/origin/externalUrl
  remotes/origin/gh-pages
  remotes/origin/master
  remotes/origin/next
  remotes/origin/rc
  remotes/origin/rc-0.3.0
  remotes/origin/release-candidate
  remotes/origin/streama-node
  remotes/origin/translation
  remotes/origin/v1.0.0
  remotes/origin/videoConverter
  remotes/upstream/gh-pages
  remotes/upstream/master
  remotes/upstream/next
  remotes/upstream/translation
  remotes/upstream/v1.0.1
  remotes/upstream/videoConverter
Run Code Online (Sandbox Code Playgroud)

自从我分叉以来,上游仓库已更新。我找不到从上游删除不再存在的分支的方法。该GitHub教程显示了如何同步提交历史记录。

是否有解决此问题的简单方法?

git git-branch git-fork

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