【发布时间】:2011-08-02 14:28:28
【问题描述】:
这听起来很简单,但我就是想不通。前段时间我做了一个实验性的分支,现在我想把 master 上发生的所有变化都拉进来。这都是本地的。我想从本地 master 拉到本地 my_branch,但我做不到。这似乎不起作用,告诉我 master 不是 git 存储库:
git pull master
【问题讨论】:
标签: git
这听起来很简单,但我就是想不通。前段时间我做了一个实验性的分支,现在我想把 master 上发生的所有变化都拉进来。这都是本地的。我想从本地 master 拉到本地 my_branch,但我做不到。这似乎不起作用,告诉我 master 不是 git 存储库:
git pull master
【问题讨论】:
标签: git
你必须告诉 git 从哪里拉取,在这种情况下是从当前目录/存储库:
git pull . master
但在本地工作时,通常只调用merge(内部调用merge):
git merge master
【讨论】:
git pull . master,因为我认为它也会检查是否有任何来自 origin 的新内容。这是真的吗?
pull . 专门告诉 Git 从位于 . 的存储库中提取(即当前目录/存储库)。 origin 只是“.git/config 文件中定义的任何存储库位置的简写(通常在克隆存储库时自动设置)
git pull . master 会从本地存储库中提取而不是从源中提取? (不从原点获取!?)那么git pull . master 比git merge master 有什么优势吗?
push . origin/branch:branch(不是拉)来更新本地分支,而不用先检查它们。
你正在寻找的是合并。
git merge master
使用pull,您可以从远程存储库中获取更改并将它们合并到当前分支中。
【讨论】:
相当老的帖子,但它可能对刚接触 git 的人有所帮助。
我会去的
git rebase master
【讨论】:
git push -f origin [branch],这是我不想要的。
git checkout master、git pull origin master、git checkout bug-fix-branch、git rebase master(解决合并冲突)、git checkout master、git merge master,最后是git push origin master。
git pull --rebase origin master,然后是git push origin master。使用正确的配置,您只需 git pull && git push
如果您正在寻找从另一个分支(例如从本地到大师)的全新拉动,您可以按照此操作。
git commit -m "Initial Commit"
git add .
git pull --rebase git_url
git push origin master
【讨论】: