我在本地分支机构,然后切换回main. 它说Your branch is up to date with origin/main,但当我git pull这样做时,它确实会拉出一堆新的更新。这是否意味着我的分支没有最新origin/main?
我想获得自主分支分支以来已编辑文件的列表(不是与主分支的最新头进行比较,而是与分支点的主分支进行比较)。
这可能吗?
这似乎是一件很常见的事情,但我的同事不知道 git 命令,也没有在网上找到任何东西(我猜用谷歌搜索有点困难)。
我正在学习变基,并看到了在功能分支上进行变基然后将其合并到主分支中的工作流程(作为示例):
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 log @{u}..$(git branch --show-current)
但是如果没有上游分支,这不起作用
$ git log --branches --not --remotes
这接近我想要的,但这显示了所有分支上的所有本地提交。我想过滤它以仅显示我对当前分支的提交。
有没有办法通过管道或者有其他方法?
我正在使用最新版本的 IntelliJ。当我创建新分支时,自动空间替换的行为似乎有所不同。例如,如果我过去将一个分支命名为“测试分支”,IntelliJ 会自动将名称转换为test_branch.
但现在,却变成了test-branch。我尝试搜索如何在设置中设置旧行为,但没有结果。你知道我可以在哪里设置这个吗?
在对分支进行一些更改后,master我决定从一个新的分支工作.我做git checkout -b new_branch_name了,创建了一个新的分支并检查出来.git status显示了我所做的改变master.
我很好奇,如果我的更改现在在两个分支(master和new_branch_name)或只是new_branch_name.所以我检查了一下master,注意到我的变化也在那里.所以我用这些改变了git checkout -- fileThatChanged.这些变化确实已经消失了master.
不幸的是,检查new_branch_name和运行git status显示我的更改也从该分支还原.
我想了解发生了什么,以后如何避免这种情况.
一种解决方案是在开始工作之前创建/签出新分支.
当我创建一个新分支时,我看到的内容与"master"中的内容相同.
如何分离内容,以便分支中的任何内容仅在分支中,而在主分支中,保留在主分区中?
谢谢
在我的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) 我有一个带标签的主分支(v1,v2等)..客户端仍然从构建服务器下载不同的版本.我们需要在每个版本上加上一个热修复(安全问题).现在我可以从每个标签中提取应用热修复但不知道如何再次推回到相同的标签?我不想再将旧版本推到主分支的前面..我不知道这是一种正确的方法吗?
这些分支在上游
* 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 ×10
git-branch ×10
bitbucket ×1
branch ×1
commit ×1
git-checkout ×1
git-fork ×1
git-history ×1
git-merge ×1
git-rebase ×1
github ×1
tortoisegit ×1