0

我想知道,从本地仓库推送到远程仓库、直接推送到主仓库和首先进行远程结帐然后将该远程推送到主仓库之间是否有区别?因为,昨天我将一个新分支推送到 master,但是它有一些错误,我想知道这是否可以修复,是否与直接推送到 master 相同。

编辑:

假设有一个master分支,我从这个分支克隆了一个repo,然后我修改这个repo,直接push到master。

第二种情况是我创建一个新分支git checkout -b new_branch

然后git push new_branch master

4

1 回答 1

0

...昨天我推了一个新的分支来掌握...

但是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 中没有任何改变。

于 2013-09-25T17:32:50.410 回答