《Git常用命令》详细讲解·第10篇(git fetch、git pull和git push)

avatar
作者
猴君
阅读量:0

《Git常用命令》详细讲解·第10篇(git fetch、git pull和git push)

《Git常用命令》详细讲解·第10篇(git fetch、git pull和git push)

七、远程操作


git fetch


从远程库获取代码


git fetch 是 Git 版本控制系统中的一个命令,用于从远程存储库获取所有分支及相应的提交。这个命令不会自动合并或修改当前的工作目录。

获取所有远程分支的更新

git fetch 



获取特定远程存储库的所有分支的更新
git fetch <repository> 



获取特定远程分支的更新
git fetch <repository> <branch> 



获取特定远程分支的更新并合并到当前分支
git pull <repository> <branch> 



获取特定远程分支的更新并重命名合并到当前分支
git pull <repository> <branch>:<local_branch> 



获取特定远程分支的更新并合并到指定分支
git pull <repository> <branch>:<other_branch> 



获取特定远程分支的更新并重命名合并到指定分支
git pull <repository> <branch>:<other_branch> 



获取特定远程分支的更新并通过变基合并到当前分支
git pull --rebase <repository> <branch> 



获取特定远程分支的更新并通过变基合并到指定分支
git pull --rebase <repository> <branch>:<other_branch> 



获取特定远程分支的更新并通过变基合并到当前分支,忽略合并冲突
git pull --rebase -X theirs <repository> <branch> 



获取特定远程分支的更新并通过变基合并到指定分支,忽略合并冲突
git pull --rebase -X theirs <repository> <branch>:<other_branch> 



获取特定远程分支的更新并通过变基合并到当前分支,解决合并冲突后继续合并
git pull --rebase -X patience <repository> <branch> 



获取特定远程分支的更新并通过变基合并到指定分支,解决合并冲突后继续合并
git pull --rebase -X patience <repository> <branch>:<other_branch> 



git pull


下载代码及快速合并


git pull 是一个 Git 命令,用于将远程存储库中的更改合并到当前分支中。它实际上是 git fetch 和 git merge FETCH_HEAD 的组合。

git pull <remote> <branch> 
  • 是远程存储库的名称,默认为 origin。
  • 是远程分支的名称,默经常下来是 master 或 main。

示例:

git pull origin master 

这将会拉取远程 origin 的 master 分支,并将其更改合并到当前分支。

如果你想要拉取并合并特定的分支,你可以指定分支名称:

git pull origin feature-branch 

如果你想要拉取所有远程分支的更改并自动合并到本地分支,你可以使用:

git pull --all 

如果你想要在拉取之前,先查看远程分支的更改,你可以使用:

git fetch origin git diff FETCH_HEAD 

如果在拉取过程中遇到合并冲突,你需要手动解决这些冲突,并提交合并。

注意:在使用 git pull 之前,确保你的工作目录是干净的(没有未提交的更改),否则你可能需要先提交或者暂存你的更改。



git push


上传代码及快速合并


git push 是一个Git命令,用于将本地仓库的内容推送至远程仓库。

git push <remote> <branch> 
  • 是远程仓库的名称,默认为 origin。
  • 是要推送的分支名称。



将本地的 master 分支推送至默认远程仓库 origin 的 master 分支:

git push origin master 

如果你想要推送当前分支到远程仓库并跟踪它,可以使用 -u 选项:

git push -u origin master 

这样会设置远程仓库 origin 为默认推送的远程仓库,并将本地的 master 分支与其关联。



推送所有分支到远程仓库,可以使用 --all 选项:

git push --all origin 



推送指定的标签,可以使用:

git push origin <tagname> 



删除远程仓库上的一个分支,可以使用 --delete 选项:

git push origin --delete <branch> 



git push <remote>


删除远程分支或标签——git push <remote> 是一个用于将本地分支的更新推送到远程仓库的 Git 命令。其中 <remote> 是你想要推送到的远程仓库的名称,默认通常为 origin。

命令详解:

  1. 指定远程仓库:<remote> 参数指定了你想要推送到的远程仓库。如果你只有一个远程仓库,通常可以省略这个参数,默认为 origin。
  2. 指定分支:如果你不指定分支,Git 将推送当前分支到远程仓库同名的分支。如果你想要推送到远程仓库的特定分支,你可以使用 git push <remote> <branch>
  3. 设置上游分支:如果你是第一次推送到远程分支,你可能需要设置上游(upstream)分支,使用命令 git push -u <remote> <branch>,这样会在本地和远程之间建立追踪关系。
  4. 推送标签:如果你想要推送本地标签到远程仓库,你可以使用 git push <remote> --tags。
  5. 推送所有分支和标签:你可以使用 git push --all <remote> 来推送所有本地分支到远程仓库,并使用 git push --all <remote> 来推送所有本地标签到远程仓库。

示例:

# 推送当前分支到默认远程仓库origin的同名分支 git push   # 推送当前分支到名为origin的远程仓库的master分支 git push origin master   # 设置上游分支,之后只需git push git push -u origin master   # 推送所有本地分支到远程仓库 git push --all origin   # 推送所有标签到远程仓库 git push --tags origin 



git push <remote> :<branch/tag-name>


删除远程分支或标签


git push <remote> :<branch/tag-name> 是一个 Git 命令,用于删除远程仓库的分支或标签。这个命令不会删除你本地仓库的分支或标签,只是删除远程仓库的。

下面是这个命令的详细解释:

  • git push:这是 Git 中用于推送更改到远程仓库的基本命令。
  • :这是远程仓库的别名。你通常会用 origin 作为克隆仓库时的默认远程别名,但你可以有多个远程仓库,每个都可以有自己的别名。
  • ::在 和 <branch/tag-name> 之间的冒号是这个命令的关键部分。它告诉 Git 你想删除一个远程引用,而不是推送一个新的引用。
  • <branch/tag-name>:这是你想从远程仓库中删除的分支或标签的名称。

例如,如果你想删除名为 feature-branch 的远程分支,你可以运行:

git push origin :feature-branch 

同样,如果你想删除一个名为 v1.0 的远程标签,你可以运行:

git push origin :v1.0 

注意:
在运行此命令之前,请确保你真的想删除远程仓库中的这个分支或标签,因为这个操作是不可逆的。

如果你想删除本地的分支或标签,你需要使用不同的命令。例如,要删除本地分支,你可以使用 git branch -d <branch-name>git branch -D <branch-name>(如果分支没有被合并,后者会强制删除)。对于标签,你可以使用 git tag -d <tag-name>

注意:git push <remote> :<branch/tag-name> 是一个强大的命令,用于删除远程仓库的分支或标签,但在使用它之前请务必小心。



git push --tags


上传所有标签——git push --tags 是一个Git命令,用于将本地仓库的所有标签(tags)推送到远程仓库。

解释:

  • git push:将本地的分支版本上传到远程仓库。
  • –tags:这个选项指示 git push 命令同时推送所有本地新创建的标签到远程仓库。

示例:

# 推送所有本地新创建的标签到远程仓库 git push --tags 

执行这个命令后,所有未被跟踪的本地标签都会被推送到远程仓库。



老吕想说


关于《Git常用命令》详细讲解这篇文章,老吕也没想到,随手写啊写啊,Git命令详细的写一写还真的写了好多内容,直接发布后,发现手机看这文章的时候,居然卡屏了,所以无奈只能把这篇文章的内容分拆成10篇发布出来,以下是全文各篇章的链接:

1. 《Git常用命令》详细讲解·第1篇(git clone和git init)
https://pythonlaolv.blog.csdn.net/article/details/137091558

2. 《Git常用命令》详细讲解·第2篇(git status和git diff)
https://pythonlaolv.blog.csdn.net/article/details/137095087

3. 《Git常用命令》详细讲解·第3篇(git add、git mv和git rm)
https://pythonlaolv.blog.csdn.net/article/details/137095175

4. 《Git常用命令》详细讲解·第4篇(git commit -m “commit message“和git commit --amend)
https://pythonlaolv.blog.csdn.net/article/details/137095289

5. 《Git常用命令》详细讲解·第5篇(git log和git blame)
https://pythonlaolv.blog.csdn.net/article/details/137095352

6. 《Git常用命令》详细讲解·第6篇(git reset --hard HEAD、git checkout HEAD和git revert <commit>)
https://pythonlaolv.blog.csdn.net/article/details/137095501

7. 《Git常用命令》详细讲解·第7篇(git branch、git checkout <branch/tag>和git tag)
https://pythonlaolv.blog.csdn.net/article/details/137095635

8. 《Git常用命令》详细讲解·第8篇(git merge和git rebase)
https://pythonlaolv.blog.csdn.net/article/details/137095700

9. 《Git常用命令》详细讲解·第9篇(git remote -v、git remote show和git remote add)
https://pythonlaolv.blog.csdn.net/article/details/137095791

10. 《Git常用命令》详细讲解·第10篇(git fetch、git pull和git push)
https://pythonlaolv.blog.csdn.net/article/details/137111309




👨‍💻博主Python老吕说:如果您觉得本文有帮助,辛苦您🙏帮忙点赞、收藏、评论,您的举手之劳将对我提供了无限的写作动力!🤞


🔥精品付费专栏:(暂时免费,尽快订阅、收藏哦)🔥
《跟老吕学Python编程》
《跟老吕学Python编程·附录资料》

🌐前端:
《跟老吕学HTML》
《XHTML》
《CSS》
《JavaScript》
《Vue》

💻后端:
《跟老吕学C语言》
《C++》
《Java》
《R》
《Ruby》
《PHP》
《Go》
《C#》
《Swift》
《Python》

💾数据库:
《跟老吕学Oracle语言》
《MYSQL》
《SQL》
《PostgreSQL》
《MongoDB》


广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!