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就像是:你直接从中央笔记本​​抄录并粘贴​​到你自己本子上,​​一步完成​​,但你不一定清楚具体抄了啥。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐