6

当我本地工作目录推送到中央存储库时,是否会推送所有中间分支和提交信息(从上次推送到本次推送)?

换句话说,推送是否会生成我当前工作目录的整个历史记录的精确副本,包括提交、分支等,因此可供从中央存储库中提取的任何其他用户使用?

如果不是所有东西都被推动,那么什么会被排除在外?

4

3 回答 3

7

运行时git push,您可以设置在命令行上推送的内容。例如,这个

git push origin my-branch:fooo

将分支“my-branch”从本地存储库推送到“origin”处的分支“fooo”。

当您在git push没有任何参数的情况下运行时,它会推送到您当前分支的远程设置(您可以通过 看到git config branch.<branchname>.remote)并执行push.default配置值中配置的操作,根据docs,可以是以下之一:

  • nothing- 不要推任何东西。
  • matching- 推送所有匹配的分支。在两端具有相同名称的所有分支都被认为是匹配的。这是默认设置。
  • upstream- 将当前分支推送到其上游分支。
  • tracking- 不推荐使用上游的同义词。
  • current- 将当前分支推送到同名分支。
于 2011-07-07T13:37:55.810 回答
3

它推送您为该远程存储库配置的分支。查看配置文件.git/config以查看已配置的内容。

如果你想看看什么会推动使用

git remote show origin

您将 origin 替换为远程存储库的名称。这显示了哪些分支将推送到该 repo,以及分支的当前状态是什么。

于 2011-07-07T13:34:21.810 回答
3

要完成其他答案,请不要忘记git push通常处理分支 ( refs/heads)。

于 2011-07-07T14:09:02.520 回答