4

我刚开始学习 Git 教程。

在那里,他们提到了一个命令

git push -u 起源大师

在本地分支master上所做的更改被推送到origin存储库(在 Github 上)。并且-u告诉 git 记住参数,以便下次我们可以编写git push

有人能告诉我 git 是否只在我们下次使用时记住参数git push,或者以后每次都记住参数,直到写下一条告诉 git 忘记参数的命令?另外,有没有这样的命令?

提前致谢!

4

2 回答 2

8

在命令中

git push -u origin master

-u标志意味着您的本地分支将成为跟踪分支。也就是说,一个跟踪远程分支的分支,以便未来git pull将知道从哪个分支合并git push并将被定向到正确的远程分支。

从技术上讲,跟踪会将有关 master 分支的以下信息添加到您的.git/config文件中:

[branch "master"]
    remote = origin
    merge = refs/heads/master

它在这里创建一个文件.git/refs/remotes/origin/master,代表远程分支。

这些设置是当前存储库的本地设置,因此它们不会应用于其他存储库。

中的更改.git/config是永久性的(除非您明确更改它们),因此 的效果git push -u是永久性的。

于 2013-06-19T16:13:30.593 回答
2

git push -u告诉 git 在本地跟踪远程分支(“上游跟踪参考”),因此git push在本地分支上时将始终推送到初始指定的远程分支git push -u。这将在分支(或您的情况下为 master)上持续存在,直到push -u您执行下一次操作(这将导致它跟踪另一个远程分支)。

它也被用来让其他 git 命令知道从哪里检索数据,例如git pull使用它来拉取对正在跟踪的远程的更改到本地 repo。

于 2013-06-19T12:48:51.837 回答