...昨天我推了一个新的分支来掌握...
但是master是一个分支的名称。你是想说你强行将它更新到不同的分支吗?你能显示你使用的命令吗?
假设有一个 master 分支,我从这个分支克隆了一个 repo ...
不,您克隆了 repo 并且克隆的 master 分支已签出。如果您编辑本地主分支,推送将更新远程分支(见下文)。
如果您出于某种原因创建了一个新分支,并强制远程 master 复制该分支,那么您所做的就是将本地 master 副本留在后面。
1.使用本地master
$ git clone Repo
$ cd Repo
$ git checkout master
远程和本地 repos 具有相同的 master。进行更改后:
$ ... make changes ...
$ git commit -a
你的本地仓库有一个新的提交,你的本地主分支指向它。
$ git push
现在远程仓库的主分支已经更新为匹配你的,并且新的提交已经发送。
2.使用不同的本地分支
$ git clone Repo
$ cd Repo
$ git checkout master
$ git checkout -b new_branch
远程和本地 repos 具有相同的 master,但您也有一个本地分支。进行更改后:
$ ... make changes ...
$ git commit -a
您的本地 repo 有一个新的提交,并且您的本地分支指向它(master 都没有移动)。
$ git push new_branch master
将远程 master 推进到您添加到新本地分支的相同提交,而不会影响您的本地 master。
唯一的区别是您的本地 master 现在位于远程之后(pull 将更新它),并且您有一个其他人无法看到的本地分支,并且在远程 repo 中没有任何改变。