git版本控制学习
1.环境搭配
2.Linux常用指令
cd:更改目录cd..回到上一级目录pow:显示当前所在的目录路径li(||):列出当前目录所有文件,只不过||例出的内容更为详细touch:新建一个文件夹如touch index.js就会在当前目录下新建一个index.js文件rm:删除一个文件,rm index.js 就会把index.js文件删除mkdir:新建一个目录,就是新建一个文件夹rm -r:删除一个文件夹,rm -r src 删除src目录mv移动文件,mv index.html src index.html是我们要移动的文件 ,src是目标文件夹clear:清屏reset 重新初始化终端/清屏history查看命令历史help帮助exit退出#表示注释
git工作原理
基本概念
-
仓库(Repository):存储项目所有文件和版本历史的数据库。
-
工作区(Workspace):本地目录,直接编辑文件的地方。
-
暂存区(Staging Area):临时存放待提交的修改(用
git add
添加)。 -
提交(Commit):将暂存区的修改永久保存到本地仓库(生成唯一ID)。
-
分支(Branch):独立开发线,默认分支为
master
或main
。 -
远程仓库(Remote):托管在服务器(如GitHub)的仓库,用于协作。
-
合并(Merge):将分支的修改整合到另一分支,可能产生冲突。
-
冲突(Conflict):多人修改同一文件时需手动解决的差异。
工作流程
工作区、暂存区和仓库
Git 的工作流程涉及三个主要区域:工作区(Working Directory)、暂存区(Staging Area)和仓库(Repository)。
- 工作区:这是用户实际编辑文件的地方。所有未提交的更改都存在于工作区中。
- 暂存区:暂存区是一个临时区域,用于保存即将提交的更改。通过
git add
命令将工作区的更改添加到暂存区。 - 仓库:仓库是 Git 存储所有提交历史的地方。通过
git commit
-m命令将暂存区的更改永久保存到仓库中。
分支与合并
Git 的分支机制是其强大功能之一。每个分支都是一个指向某个提交的指针,默认分支通常称为 master
或 main
。
- 创建分支:通过
git branch <branch-name>
命令可以创建一个新分支。 - 切换分支:通过
git checkout <branch-name>
命令可以切换到指定分支。 - 合并分支:通过
git merge <branch-name>
命令可以将指定分支的更改合并到当前分支
远程仓库
Git 支持与远程仓库的交互,通常用于团队协作。
- 克隆仓库:通过
git clone <项目链接>
命令可以将远程仓库克隆到本地。 - 拉取更新:通过
git pull
命令可以从远程仓库拉取最新的更改并合并到当前分支。 - 推送更改:通过
git push
命令可以将本地分支的更改推送到远程仓库。
git常用命令
基础命令
命令 | 作用 |
---|---|
git init | 初始化本地仓库 |
git clone <url> | 克隆远程仓库到本地 |
git status | 查看工作区和暂存区状态 |
git add <file> | 添加文件到暂存区(git add . 添加全部) |
git commit -m "消息注释" | 提交暂存区内容到本地仓库 |
git push | 推送本地提交到远程仓库 |
git pull | 拉取远程更新并合并到本地 |
分支与合并
命令 | 作用 |
---|---|
git branch | 查看分支列表 |
git checkout -b <branch> | 创建并切换分支 |
git merge <branch> | 合并指定分支到当前分支 |
git rebase <branch> | 变基(线性历史,慎用) |
查看与回退
命令 | 作用 |
---|---|
git log | 查看提交历史 |
git diff | 查看工作区与暂存区的差异 |
git reset --hard <commit> | 回退到指定提交(谨慎使用) |
git文件操作
get status 查看所有文件状态
get status 文件名 查看指定文件状态
当遇到不想的提交文件时候
*.txt #忽略所有.txt结尾的文件,这样的话上传就不会被选中
!lib.txt #但lib.txt文件除外
/temp #仅忽略项目根目录下的todo文件,不包括其他目录temp
build/ #忽略builld/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
git的工作流程一般是这样的
1.在工作目录中添加,修改文件 user.xml
2.将需要进行版本管理的文件放入暂存区域;git add
3.将暂存区域的文件提交到git仓库. git commit
因此git管理的文件有三种状态:以修改(modified),已经暂存(staged),已经提交(committed)
# 初始化一个新的 Git 仓库
git init# 将文件添加到暂存区
git add <file-name>
git add .提交所有文件# 提交更改到仓库
git commit -m "Commit message"# 查看当前状态
git status# 查看提交历史
git log# 创建并切换到新分支
git checkout -b <branch-name># 合并分支
git merge <branch-name># 克隆远程仓库
git clone <repository-url># 拉取远程更新
git pull# 推送本地更改
git push
实际演示
仓库初始化
1.删除原本文件
2.创建一个txt文件。处于工作区
3.查看文件状态
4.提交文件到暂存区 git add . 提交所有文件
5.查看文件状态
6.提交到本地仓库 git commit -m "注释"
7.查看文件状态
指向rm mm.txt 后会删除mm.txt文件
以上的工作流程。
克隆远程仓库 gitee为例
1.在gitee创建远程仓库
2.克隆远程仓库到本地仓库
将本地仓库代码更新到远程仓库
1.创建远程仓库。
注册gitee或者gethub,登录创建我的仓库
2.配置ssh密钥。
3链接远程仓库。
4.将本地仓库更新文件添加到远程仓库。