2022/12/10 2-github远程分支

174 阅读2分钟

git clone [remoteUrl]

当我们使用git clone将远程仓库拉取下来之后,git会默认在本地仓库创建一个master本地跟踪分支,和其他远程分支的远程跟踪分支image.png

git push -u (upstream)

当我们创建了一个本地分支feature后,使用git push origin feature会创建一个远程跟踪分支,并在远程创建一个远程分支。如果我们在本地feature分支上修改了内容想推送到远程,我们仍需要使用git push origin feature,因为feature是一个单纯的本地分支,不是一个本地跟踪分支。所以在这里介绍第二种创建本地跟踪分支的方法:

git push -u origin feature

当我们使用这个命令推送本地分支后,本地的feature分支会变成本地跟踪分支,以后再推送拉取数据是需要简单的git push/git pull 即可。

删除远程分支

  1. 删除本地feature分支
git branch -D feature
  1. 删除远程跟踪分支remotes/origin/feature
git branch --delete --remotes origin/feature
  1. 删除远程feature分支
    此时,我们使用git ls-remote查看远程分支,会看到远程feature分支依然存在。
git push origin --delete feature

如果我们直接执行删除远程分支的命令,那么我们将不再需要执行删除远程跟踪分支的命令,因为一旦远程分支被删除,远程跟踪分支也会一起被删除。

删除远程的提交

当我们再本地执行git reset HEAD~n的命令撤销本地提交后,再执行git push会被拒绝,因为此时本地的提交是落后于远程的。所以此时我们需要使用强推。

// git push --force
git push -f