我刚刚开始使用Git教程。
在那里,他们提到了一个命令
git push -u origin master
将对本地分支master
所做的更改推送到origin
存储库(在Github上)。
并且-u
告诉git记住参数,以便下次我们可以写git push
有人可以告诉我git是否仅在我们下一次使用git push
时记住参数,或者每次都要记住告诉git忘记参数的命令?还有,有没有这样的命令?
提前致谢!
答案 0 :(得分:7)
在命令
中git push -u origin master
-u
标志表示您的本地分支将成为跟踪分支。也就是说,跟踪远程分支的分支,以便将来git pull
知道要合并哪个分支,git push
将被定向到正确的远程分支。
从技术上讲,跟踪会将有关主分支的以下信息添加到.git/config
文件中:
[branch "master"]
remote = origin
merge = refs/heads/master
并在此处创建一个文件.git/refs/remotes/origin/master
,代表远程分支。
这些设置是当前存储库的本地设置,因此它们不会应用于其他存储库。
.git/config
中的更改是永久性的(直到您明确更改它们为止),因此git push -u
的效果是永久性的。
答案 1 :(得分:2)
git push -u
告诉git在本地跟踪远程分支('上游跟踪引用'),因此在本地分支上git push
将始终推送到初始{{1}中指定的远程分支。 1}}。这将保留在分支(或您的情况下为master)上,直到您执行下一个git push -u
(这将导致它跟踪另一个远程分支)。
它也被使用,以便其他git命令知道从哪里检索数据。 push -u
使用它将对被跟踪的远程数据所做的更改提取到本地存储库。