git 完整提交流程(常用命令)
·
1.创建 git 仓库(已有仓库可以省略该步骤)
# 初始化一个新的仓库
git init
# 已有仓库,则克隆现有仓库
git clone https://github.com/xxxx/repository.git
2.检查状态
# 在提交更改之前,查看哪些文件被修改了,可以使用
git status
3.添加更改到暂存区(准备提交)
# 添加更改到暂存区:(准备提交)
git add [文件名]
# 或
git add . (添加所有更改文件)
4.提交更改到仓库
# 提交更改到仓库
git commit -m "备注信息"
# 提交前 要先拉取代码 避免冲突:
git pull origin 分支名
5.可查看提交历史
git log
6.分支操作(可选)
# 查看本地所有分支(当前分支前有 * 标记)
git branch
# 查看所有分支(本地+远程)
git branch -a
# 创建一个新的分支
git branch [分支名]
# 切换到已有的另一个分支
git checkout [分支名]
# 创建并切换到新分支
git checkout -b [新分支名]
# 创建并切换到新分支 如当前在 main 分支,执行 git merge dev 将 dev 合并到 main。
git merge [分支名]
# 推送本地分支到远程,并设置上游关联(首次推送需用 -u)
git push -u origin <分支名>
# 关联本地分支到远程分支(后续推送可直接 git push)
git branch -u origin/<分支名>
7.推送更改到远程仓库(有权限的情况下)
# 第一次推送需要指定上游分支,之后只需 git push 即可。
git push -u origin [本地分支名]
# 【首先确保你的本地分支与远程分支相对应(或在远程创建一个新的分支)】
# -u 第一次推送的时候与远程建立联系,后面可省略 直接git push origin 分支
8.拉取更新
1.git fetch
git fetch
# 或者 更具体的
git fetch origin
# 或者 拉取某个分支的更新(这里拉取dev分支的更新)
git fetch origin dev
拉取代码时,还可以使用:(常见用法)
git fetch origin # 拉取远程 origin 的所有分支的最新信息
git fetch origin dev # 只拉取远程 dev 分支的更新
git fetch的作用是从远程仓库(比如 GitHub、GitLab 上的仓库)下载最新的提交记录、分支信息等,但并不会自动修改你本地的代码或者分支。
简单的说就是:它会去远程(比如 origin)拉取最新的数据(比如别人新提交的代码、新建的分支等)但这些内容只是被下载到你的本地仓库的远程跟踪分支(比如 origin/dev),不会直接影响你当前的本地分支(比如 master/main/dev)。你的工作区和本地分支保持不变,可以安全地查看远程的变化,而不会影响到自己正在开发的代码。
2.git merge origin dev
git merge origin/dev
# 将远程分支 origin/dev 的更新合并到你当前所在的本地分支中。
需要注意的是,这个命令本身不会去拉取远程的最新代码。
一般流程是:
git fetch origin # 第一步:先从远程拉取最新数据
git merge origin/dev # 第二步:将远程的 dev 分支合并到当前分支
# 将你本地存储的远程分支 origin/dev(必须已通过 fetch 获取)
# 合并到你当前所在的分支
# 更直接的:(但不推荐)
git pull origin dev
# 拉取远程 dev 分支的最新代码并自动合并到当前分支(相当于 fetch + merge)
通俗解释:
可以把远程仓库想象成一个中央服务器上的笔记本,你自己电脑上的代码是你本地笔记本。
-
git fetch就像是:你从中央笔记本上抄录下别人最新写的内容,但暂时不往你自己本子上写,只是放在一边让你查看。 -
git merge origin/dev就像是:你看了别人(远程 dev 分支)的新内容后,决定把这些内容合并进你自己正在写的本子(当前分支)。(不会影响远程分支代码,只有推送push才会影响远程的代码,产生更新) -
git pull就像是:你直接从中央笔记本抄录并粘贴到你自己本子上,一步完成,但你不一定清楚具体抄了啥。
更多推荐
所有评论(0)