如何在git中提取本地仓库?

时间:2018-09-18 10:49:49

标签: git github git-branch

我需要将本地存储库拉到我的新存储库中。假设我想将original拉到duplicate。我在这里看到了解决方案,但是如下所述,两者都有一些问题-

  1. 使用original将分支git remote add original添加到远程,然后拉出此远程存储库。但是我在远程仓库上有一个同名仓库,其中包含我不会惹的公司逻辑。所以我不能使用这种方法。
  2. 我发现使用git pull --help可以使用git pull /path/to/repo's .git/file拉回购,但是这两个分支属于同一项目,因此它们具有相同的.git文件。

我还有其他方法可以做到吗? 预先感谢

1 个答案:

答案 0 :(得分:1)

我认为这里的repobranchremote概念之间存在误解。

根据我的理解,您想“将一个本地分支拉到另一个本地分支”(即“拉”一个分支,而不是一个仓库)。 pull通常不是我们用于本地分支的术语(pull操作涉及从远程存储库中获取内容)。

如果这是您要执行的操作,则有两种选择:

  • 您可以使用git merge my_task_branchmy_task_branch合并到当前分支中。
  • 您可以使用git rebase master移动在当前分支上所做的更改,以便它们基于本地master分支上的最新更改。

这两个选项将确保在当前分支中可以使用另一个分支(在上述示例中为my_task_branch / master)上的更改。


一些术语:

存储库:一个存储库有一个.git目录。如果您有两个存储库,则它们(按定义)具有两个不同的.git目录,否则,它们是相同的存储库。       当您说“两个分支都属于同一项目,因此它们具有相同的.git文件”时,表示两个分支都位于同一存储库中。

分支:一个仓库可以有多个分支。每个分支代表可能不同的变更历史。您可以对一个分支进行一些更改,将其提交。然后签出另一个分支到  在那里进行其他更改。

远程:远程是对另一个存储库的引用,您可以从中获取/推送更改。

拉动git pull操作分为两部分。首先,从其他远程仓库中获取提交(可以使用git fetch命令单独完成)。之后,来自远程存储库的某些分支将合并到当前分支中(git merge命令)

本地分支vs远程分支:您可以在存储库中创建任意数量的本地分支。但是本地分支不同于远程分支。您可以创建任意数量的本地分支机构,而不会以任何方式影响远程仓库。如果您git push本地分支,则只能在远程仓库中看到它们。