【问题标题】:fork git branches and see them with SmartGitfork git 分支并使用 SmartGit 查看它们
【发布时间】:2017-06-21 09:59:57
【问题描述】:

根据post,我想了解 SmartGit git 客户端对新分支的影响。下面,我将详细解释我所做的步骤以及 SmartGit 显示的内容以及我期望显示的内容:

步骤:

s1) 通过克隆远程创建一个本地 git 存储库:

git clone https:/myusername:mypassword@remoteRepoAddress/repo3

s2) cd 到我刚刚创建的 repo3 git 本地存储库,然后在新文件中添加文本:

echo "aaa" >> file1

s3) 添加要提交的文件:

git add .

s4) 提交更改:

git commit -m "commit1"

s5) 将另一行添加到 file1 并提交更改

echo "bbb" >> file1
git add .
git commit -m "commit2"

s6) 将更改推送到远程存储库:

git push origin master

现在,SmartGit 显示一行,用于主分支,以及两个提交:

s7) 创建另一个分支“newBranch1”:

git checkout -b newBranch1

s8) 然后我在这个分支上进行一次提交:

echo "row1" >> file2
git add .
git commit -m "commit1_newBranch1"

现在,SmartGit 显示:

根据开头提到的post 中的“图20”,没关系:在master 分支上的最后一次提交上,提交已经推进了一个节点。 s9) 然后我切换回 master 分支,并从 master 上的最后一个提交点创建另一个分支“newBranch2”;我添加了一个带有文本“row1”的新文件“file3”,然后我提交了更改:

git checkout master
git checkout -b newBranch2
echo "row1" >> file3
git add .
git commit -m "commit1_newBranch2"

现在 SmartGit 显示:

我希望在上面提到的帖子中看到像“图 21”中的树。或者如下:

 newBranch2 o   o newBranch1  
             \ /  
              o master's head
              |
              o
              |

我是否误解了 git 和/或 SmartGit 的工作原理? 如果是这样,请用具体的答案指导我。 提前致谢

【问题讨论】:

    标签: git branch git-branch smartgit


    【解决方案1】:

    在我看来,您误解了 SmartGit 日志视图的工作方式。

    您会看到 newBranch2 的历史记录,因为那是 HEAD 所在的位置(而 HEAD 的历史记录是大多数 git 客户端的默认日志)。我认为您正在查看默认视图中的“日志”选项卡,是吗?

    您需要的是显示所有裁判历史记录的日志。如果您单击右上角的log 按钮,它将打开一个窗口,开始显示相同的“HEAD 的历史记录”,但左侧有一个复选框树,您可以在其中选择您想要的其他内容查看。标记“本地分支机构”复选框,您应该会看到您所追求的。您会注意到,您还可以选择特定分支、远程分支引用(通过远程或单个引用)、标签(特定标签或所有标签)和悬空提交(称为“可回收提交”)。

    【讨论】:

    • 不确定自从您回答此问题后的 2 年内界面发生了多大变化,但截至今天,我在 SmartGit 的任何地方都没有看到“日志”按钮。是否仍然可以在 SmartGit 中查看所有分支的视图?这是名为 Source Tree 的类似产品的默认视图(在 Linux 上不可用)。
    • @soapergem - 不幸的是,我很长时间没有看过 SmartGit(基本上是在写这个答案之后)。一般来说,我不使用 git 的 GUI。如果产品文档(和/或支持)没有提供关于如何显示日志的适当解释,您可能会考虑提出一个新问题(尽管老实说我不确定 SO 是否是最好的论坛)。很抱歉无法澄清这一点
    【解决方案2】:

    你得到了 git 和 SmartGit 的工作方式。但是,我认为您误解了 Smartgit 显示图形的方式。 您可以使用以下命令显示原始 git 图:

    git log --graph --decorate --oneline --all
    

    我认为你应该使用 Gitkraken:它会比 Ubuntu 上的 Smartgit 更好:https://www.gitkraken.com/

    希望对你有用!!!

    【讨论】:

    • @An Huy:你发布的命令确实显示了一个图表,但我想在 SmartGit 中看到它。 SmartGit 不是我的选择,我必须使用它。您是否认为在 gitkraken 中该图按预期显示?感谢您提供帮助。
    • 确实,GitKraken 似乎在分叉图中显示了分支。但是,我想在 SmartGit 中实现它。
    • 当然可以(就像几乎每个 Git GUI 客户端一样),只需查看@mark-adelberger 的答案
    • @Mark Adelsberger:谢谢!
    猜你喜欢
    • 2018-01-16
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2012-03-21
    相关资源
    最近更新 更多