Git简易用法
第1章 Git概述
-
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
-
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
-
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
-
分布式相对于集中式版本控制的优点:
- 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
- 每个客户端保存的都是完整的项目(包含历史记录,更加安全)
1.1 Git工作机制
-
工作区:写代码,存放代码的实际位置,如Code文件夹(不是指IDE)——可删除
git add
到暂存区
-
暂存区:临时存储——可删除
git commit
到本地库
-
本地库:历史版本——不可删除
-
远程库:基于网络服务器的远程代码仓库
- 局域网:GitLab
- 互联网:GitHub,Gitee
第2章 Git常用命令
- PS:和Linux一样,输入前几个字母,单击Tab键即可补全
- 复制:
Ctrl + Insert
,粘贴:Shift + Insert
命令名称 | 作用 |
---|---|
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add filename | 添加到暂存区 |
git commit -m "日志信息" 文件名 | 提交到本地库,日志信息如——first commit |
git reflog | 查看历史记录 |
git log | 详细版本信息——如是谁提交的 |
git reset --hard 版本号 | 版本穿梭 |
2.1 版本穿梭

-
本地的文件会随着版本的穿梭而改变
-
Git的版本控制,本质是移动了HEAD指针,指向了不同的版本
第3章 Git分支操作
3.1 分支概述
- 在版本控制中,同时推进多个任务,为每个任务,就可以创建每个任务的单独分支,使用分支意味着程序员可以把自己的工作从主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。分支底层也是指针的引用。
3.2 分支的好处
- 同时并行推进多个功能的开发,提高开发效率。
- 各个分支在开发过程中,如果一个分支开发失败,不会对其他分支有任何影响。删除失败分支重新开始即可。
3.3 分支的操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
3.3.1 查看、创建、切换分支
3.3.2 合并分支
-
正常合并:当前分支没有修改,被合并的分支有修改。
-
冲突合并:两个分支在同一文件的同一位置有两套完全不同的修改。必须认为决定新代码的内容。
-
冲突合并的解决方法:
-
查看当前分支状态
-
手动打开文件
-
把需要删除的代码去掉
- HEAD表示当前分支
- 红框内的内容删去
-
add + commit即可
-
第4章 Git团队协作机制
4.1 团队内协作

4.2 跨团队协作

第5章 GitHub操作
5.1 创建远程仓库别名
- 基本语法
git remote -v
查看当前所有远程地址别名git remote add 别名 远程地址
- 实例操作
- 既可以推送,也可以拉取
- 既可以推送,也可以拉取
5.2 推送本地分支到远程仓库
-
基本语法
git push 别名 分支
-
实例操作
5.3 拉取远程库到本地库
-
基本语法
git pull 别名 分支
-
实例操作
5.4 克隆远程仓库到本地
- 基本语法
git clone 链接
- 克隆代码不需要登录认证(如果是public)
5.5 团队内协作
5.6 跨团队协作
-
点击fork在自己的仓库fork一份相同的代码(然后可以clone等等操作)
-
对代码进行修改后,pull request
-
项目开发者可以在pull request里找到其他团队提交的requests(可以在pull request里和他人进行交流)
-
审查过后,merge pull request合并代码
5.7 SSH免密登录
-
在C盘用户文件夹下生成SSH密钥
ssh-keygen -t rsa -C 描述
- 将生成的.ssh中的id_rsa.pub复制到GitHub中
- 再次上传代码时使用协议即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)