TL;博士
我必须明确…推到
origin
是的,但不是你想的那样。不过,这可能是最方便的。
长
每个git存储库都是一个独立的实体。远程(如在您自己的存储库中)或fork链接(如在github或bitbucket fork中)记录另一个git存储库的标识,但这两个存储库仍然是独立的实体。因此,每个人都有
它自己的
分支,不与任何其他git存储库共享。
什么
是
与其他git存储库共享,但仅在“共享时间”(
git fetch
和
git push
)是
提交
是的。它们使用原始散列ID共享。不过,这也是分支名称真正进入画面的地方,因为git存储库
发现
它通过它的分支名称(和其他引用)提交,但我们只关注这里的分支名称。
记住,git存储库中分支名称的角色是包含
最后的
承诺将被视为“在”该分支,即
小费承诺
在树枝上。当你使用
git checkout
branch
然后是最终的
git commit
,您的git:
生成新的提交
在设置新提交的
起源
哈希ID到当前提交哈希ID
然后写下
新的
提交的哈希ID到当前
名称
使分支名称再次指向最新的(提示)提交。这个tip commit指向前一个tip,它指向另一个更早的commit,依此类推。
因此,什么
Git推送
Does是:
交出一些提交,理想地,简单地扩展一些现有分支(ES),然后
请求另一个g