Git基础操作:从本地提交到远程仓库

这一篇博客主要讲 Git 的基础操作,包括初始化仓库、提交代码、查看日志、关联远程仓库和使用分支。内容以入门学习为主,适合边看边练习。


一、Git 的简单工作流程

在学习命令前,先记住 Git 中最常用的几个位置:

  • 工作区:平时写代码、修改文件的位置。

  • 暂存区:准备提交的文件会先放到这里。

  • 本地仓库:保存提交记录的位置。

  • 远程仓库:GitHub、Gitee 等网站上的仓库。

一次最常见的提交流程是:

复制代码
修改文件 -> git add -> git commit -> git push
工作区       暂存区      本地仓库       远程仓库

可以把 git add 理解为"把要提交的文件挑出来",把 git commit 理解为"在本地保存一个版本",把 git push 理解为"把本地版本上传到远程仓库"。

二、初始化仓库:git init

进入项目文件夹后,执行:

复制代码
git init

这条命令会把当前文件夹初始化成一个 Git 仓库。初始化完成后,就可以使用 Git 来记录文件变化了。

图 1:执行 git init 初始化仓库。

初始化后,可以输入下面的命令查看当前状态:

复制代码
git status

它会告诉我们当前有哪些文件被修改、哪些文件还没有提交。刚开始学习 Git 时,不知道下一步做什么就先执行一次 git status

三、关联远程仓库:git remote add

本地仓库创建好后,如果想把代码放到 GitHub 或 Gitee,就需要关联远程仓库。

复制代码
git remote add origin xxx

其中:

  • origin 是远程仓库的名字,通常默认使用这个名字。

  • xxx 是远程仓库地址,例如 https://github.com/用户名/仓库名.git

示例:

复制代码
git remote add origin https://github.com/your-name/demo.git

这条命令的意思是:给这个远程地址取一个叫作 origin 的名字。以后上传或下载代码时,使用 origin 就可以代表这条远程地址。

四、拉取远程代码:git pull

如果远程仓库中已经有文件或提交记录,可以使用 git pull 拉取到本地:

复制代码
git pull origin master

它表示从名为 origin 的远程仓库中,拉取 master 分支的内容。

图 2:使用 git pull 拉取远程仓库。

有些仓库的主分支叫作 main,那么命令中的 master 就改成 main

复制代码
git pull origin main

分支名称要以远程仓库实际显示的名称为准。

五、提交文件:git add 和 git commit

1. git add:添加到暂存区

文件修改后,先执行:

复制代码
git add 文件名

例如:

复制代码
git add README.md

如果想把当前目录下修改的文件全部添加到暂存区,可以使用:

复制代码
git add .

这里的点 . 表示当前目录。

2. git commit:提交到本地仓库

文件加入暂存区后,再执行:

复制代码
git commit -m "提交说明"

-m 后面的内容是这次提交的说明。建议写清楚这次改了什么,后面查看提交记录时会更容易理解。

图 3:git commit 将暂存区内容提交到本地仓库。

六、查看提交记录:git log

提交过几次代码后,可以使用:

复制代码
git log

这个命令可以查看提交记录,包括提交人、提交时间和提交说明。

图 4:使用 git log 查看提交日志。

如果觉得完整日志内容太多,可以使用单行显示:

复制代码
git log --oneline

这样每一条提交记录只占一行,查看起来更简洁。

图 5:git log --oneline 的显示效果。

七、修改最近一次提交说明:git commit --amend

如果刚刚提交完代码,却发现提交说明写错了,可以修改最近一次提交的说明:

复制代码
git commit --amend -m "新的提交说明"

图 6:修改最近一次提交的说明。

这个命令适合刚提交完、还没有推送到远程仓库时使用。

八、上传代码:git push

本地提交完成后,使用下面的命令上传到远程仓库:

复制代码
git push -u origin master

其中:

  • origin 是前面设置的远程仓库名称。

  • master 是要上传的分支名称。

  • -u 表示第一次上传时建立关联。

如果你的主分支叫 main,则写成:

图 7:使用 git push 将本地提交上传到远程仓库。

上传成功后,打开远程仓库页面,就可以看到提交的文件和提交记录。

图 8:远程仓库中显示已上传的内容。

第一次上传成功后,之后在同一个分支上通常直接使用:

复制代码
git push

即可。

九、撤回暂存:git reset

有时执行 git add . 后,发现有文件不想提交。此时可以使用:

复制代码
git reset

它会把已经添加到暂存区的文件撤回到工作区,文件本身的修改还会保留,不会直接删除文件。

如果只想撤回一个文件,可以使用:

图 9:使用 git reset 将文件从暂存区撤回工作区。

简单记忆:git add 是把文件放进暂存区,git reset 是把文件从暂存区拿回来。

十、分支操作

分支可以让我们在同一个项目中同时做不同的事情。例如主分支保存比较稳定的代码,新功能可以放在新分支中开发,互相不会影响。

1. 查看分支:git branch

复制代码
git branch

它会显示当前仓库中的分支。带有 * 号的分支,表示我们当前正处于这个分支。

图 10:星号表示当前所在分支

2. 创建分支:git branch xxx

复制代码
git branch dev

这条命令会创建一个名为 dev 的分支。

图 11:创建新分支。

3. 切换分支:git checkout xxx

创建分支后,使用下面的命令切换过去:

复制代码
git checkout feature-up

图 12:切换到指定分支

也可以一次完成"创建分支和切换分支":

复制代码
git checkout -b feature-up

4. 上传分支:git push -u origin xxx

feature-up分支修改并提交代码后,可以把这个分支上传到远程仓库:

复制代码
git push -u origin feature-up

分支的作用可以简单理解为:在同一份代码上开一条新路线。新功能没有完成前,先在新分支中写;完成后再和主分支合并。

十一、基础命令练习流程

下面是一套简单的练习流程,可以在一个新文件夹中尝试:

复制代码
1. 初始化仓库
git init
​
2. 新建或修改文件后,添加到暂存区
git add .
​
3. 提交到本地仓库
git commit -m "第一次提交"
​
4. 关联远程仓库
git remote add origin 远程仓库地址
​
5. 上传到远程仓库
git push -u origin master

如果提交前不确定文件状态,可以随时输入:

复制代码
git status

总结

Git 基础操作可以这样记:

复制代码
git init              初始化本地仓库
git add .             添加文件到暂存区
git commit -m "说明"  提交文件到本地仓库
git log               查看提交记录
git remote add        关联远程仓库
git pull              拉取远程代码
git push              上传本地代码
git reset             撤回暂存区文件
git branch            查看或创建分支
git checkout          切换分支

刚学习 Git 时,不需要一次记住所有命令。多练习"修改文件、添加、提交、上传"这一套流程,再慢慢熟悉日志、撤销和分支操作,就能掌握日常开发中最常用的 Git 基础功能。

相关推荐
starfalling10242 小时前
【大数据体系】大数据开发能力体系增长——从初级大数据开发到高级,需要做什么
大数据
Elasticsearch2 小时前
那块从未唤醒的磁盘:究竟是什么决定了我们的 Qdrant 向量搜索基准测试重新对决的结果
elasticsearch
环球科讯2 小时前
建行研修中心井冈山党性教育研修院党支部赴东固开展红色研学主题党日活动
大数据
BD_Marathon11 小时前
spark.sql报错
大数据·分布式·spark
Cincoze-Johnny13 小时前
推进国产化安全应用Ⅳ:德承工控机DS-1202+银河麒麟操作系统Kylin V11 安装教程
大数据·kylin
程序猿炎义14 小时前
一人内容团队——用Amazon Quick Desktop实现小红书从选题到发布的全流程自动化
大数据·人工智能·microsoft·自动化·小红书
科技发布14 小时前
出海转化链路断裂,传播易如何打通全流程营销闭环?
大数据
爱学习的小可爱卢15 小时前
Git全解析(2W+长文):从原理到高频操作手册
大数据·elasticsearch·搜索引擎
深海鱼在掘金19 小时前
深入浅出RAG——第1章:认识RAG
人工智能·搜索引擎