如何从 git 中的特定分支中提取数据-理解差距

Sel*_*ter 3 gitlab

我正在使用 gitlab,但对一些事情感到很困惑。:

  1. 当我们通过 git checkout -b test 创建新分支时。它会创建主版本的副本还是创建我当前所在分支的副本?

例如:我目前在分支开发,然后我编写命令 git checkout -b test。那么这将是开发版的副本,而不是大师版?

  1. Pull :当我们编写 git pull 时,它会从同名的远程分支中拉取当前分支的更改。当更多人从事同一个项目时使用它。

示例:我在分支开发,我编写 git pull,它更新我本地的远程开发。现在我创建了一个新的分支测试,签出测试分支并执行 git pull。它给我:当前分支没有跟踪信息。请指定您要针对哪个分支进行变基。

是因为远程没有测试分支吗?如果我想在当前分支处于测试状态时从 dev 分支拉取,应使用什么命令?是 git pull --rebase 开发测试吗?

  1. 当我们编写 git push 时,它将当前分支推送到远程分支。示例:我正在进行分支测试,我添加、提交并编写 git Push。它只是将我的分支测试推送到与测试同名的远程。我们可以推送到特定分支,例如将测试推送到开发吗?

考虑到我在分支测试,以下有什么区别: git push git push origin test 他们都推送到远程?

我的要求是:有一个分支开发不是主分支,我应该在这个分支上作为起点和终点工作。就像,新分支应该是这个分支的副本,我应该推送到同一个分支。

Tim*_*sen 9

它会创建主版本的副本还是创建我当前所在分支的副本?

它创建一个test基于当前分支(无论是什么)命名的新分支作为起点。

如果我想在当前分支处于测试状态时从 dev 分支拉取,应使用什么命令?

我相信您可以将任何您想要的分支拉到当前分支中。例如,如果您在分支上test并且想要拉动,dev您可以使用:

git pull origin dev
Run Code Online (Sandbox Code Playgroud)

我们可以推送到特定分支,例如将测试推送到开发吗?

是的,推送时可以指定本地和远程分支名称,例如

git push origin test:dev
Run Code Online (Sandbox Code Playgroud)