我需要将本地存储库拉到我的新存储库中。假设我想将original
拉到duplicate
。我在这里看到了解决方案,但是如下所述,两者都有一些问题-
original
将分支git remote add original
添加到远程,然后拉出此远程存储库。但是我在远程仓库上有一个同名仓库,其中包含我不会惹的公司逻辑。所以我不能使用这种方法。git pull --help
可以使用git pull /path/to/repo's .git/file
拉回购,但是这两个分支属于同一项目,因此它们具有相同的.git
文件。我还有其他方法可以做到吗? 预先感谢
答案 0 :(得分:1)
我认为这里的repo
,branch
和remote
概念之间存在误解。
根据我的理解,您想“将一个本地分支拉到另一个本地分支”(即“拉”一个分支,而不是一个仓库)。
pull
通常不是我们用于本地分支的术语(pull
操作涉及从远程存储库中获取内容)。
如果这是您要执行的操作,则有两种选择:
git merge my_task_branch
将my_task_branch
合并到当前分支中。git rebase master
移动在当前分支上所做的更改,以便它们基于本地master
分支上的最新更改。这两个选项将确保在当前分支中可以使用另一个分支(在上述示例中为my_task_branch
/ master
)上的更改。
一些术语:
存储库:一个存储库有一个.git
目录。如果您有两个存储库,则它们(按定义)具有两个不同的.git
目录,否则,它们是相同的存储库。
当您说“两个分支都属于同一项目,因此它们具有相同的.git
文件”时,表示两个分支都位于同一存储库中。
分支:一个仓库可以有多个分支。每个分支代表可能不同的变更历史。您可以对一个分支进行一些更改,将其提交。然后签出另一个分支到 在那里进行其他更改。
远程:远程是对另一个存储库的引用,您可以从中获取/推送更改。
拉动:git pull
操作分为两部分。首先,从其他远程仓库中获取提交(可以使用git fetch
命令单独完成)。之后,来自远程存储库的某些分支将合并到当前分支中(git merge
命令)
本地分支vs远程分支:您可以在存储库中创建任意数量的本地分支。但是本地分支不同于远程分支。您可以创建任意数量的本地分支机构,而不会以任何方式影响远程仓库。如果您git push
本地分支,则只能在远程仓库中看到它们。