当我push到中央存储库的本地工作目录时,所有中间分支和提交信息(从最后一次推送到这个)是否被推送?
换句话说,push是否会生成当前工作目录的整个历史记录的完全副本,包括提交,分支等,因此可供任何其他人使用用户从中央存储库拉出来了吗?
如果不是所有东西都被推,那么什么被排除?
答案 0 :(得分:7)
运行git push
时,可以设置在命令行上推送的内容。例如,这个
git push origin my-branch:fooo
将分支“my-branch”从本地存储库推送到“origin”分支“fooo”。
当您在没有任何参数的情况下运行git push
时,它会推送到当前分支的远程设置(您可以通过git config branch.<branchname>.remote
查看)并执行push.default
配置值中配置的内容,根据{{3}},它可以是以下之一:
nothing
- 不要推动任何东西。matching
- 推送所有匹配的分支。两端具有相同名称的所有分支都被认为是匹配的。这是默认设置。upstream
- 将当前分支推送到其上游分支。tracking
- 已弃用的上游同义词。current
- 将当前分支推送到同名分支。答案 1 :(得分:3)
它将您配置的分支推送到该远程存储库。查看配置文件.git/config
以查看已配置的内容。
如果你想知道什么会推动使用
git remote show origin
使用远程存储库的名称替换origin。这显示了什么分支将推送到该回购,以及分支的当前状态是什么。
答案 2 :(得分:3)
要完成其他答案,请不要忘记git push
通常会处理分支(refs/heads
)。
--tags
(或--mirror
),否则不会推送代码,在这种情况下会推送refs/tags
。