添加正式内容
This commit is contained in:
@@ -0,0 +1,227 @@
|
||||
# Git零基础使用指南
|
||||
|
||||
## 一、Git是什么
|
||||
|
||||
Git是一个专门用来记录文件变化的工具。你可以把它想象成游戏的存档系统:每次存档后,即使后面改坏了,也能读档回到之前的状态。
|
||||
因此它最常用的场景是:管理代码、和别人协作开发、进行备份与还原等等。
|
||||
|
||||
---
|
||||
|
||||
## 二、安装与初始配置
|
||||
|
||||
### 1. 安装
|
||||
|
||||
- Windows:到git-scm.com下载安装包,一路默认下一步即可。如果速度很慢,可以直接在网上搜索镜像站,加速github上的原始下载链接。
|
||||
- Mac:终端输入`git --version`,如果提示安装就跟着装。
|
||||
- GNU/Linux:不同发行版不一样,不过你都用Linux,总不可能这个都不会,因此这里不赘述了。
|
||||
|
||||
安装完后,打开终端(Windows用cmd或者powershell),输入:
|
||||
|
||||
```bash
|
||||
git --version
|
||||
```
|
||||
|
||||
能显示版本号就说明装好了。
|
||||
|
||||
### 2. 配置身份
|
||||
|
||||
```bash
|
||||
git config --global user.name "你的名字"
|
||||
git config --global user.email "你的邮箱"
|
||||
```
|
||||
|
||||
这两行是告诉Git你是谁,只是自己用的话随便填也行,但建议用真实信息。
|
||||
|
||||
---
|
||||
|
||||
## 三、Git核心概念
|
||||
|
||||
- **工作区**:你正在编辑的文件所在的文件夹。
|
||||
- **暂存区**:一个临时存放区,你要把想保存的改动先放在这里,然后才能正式提交到版本库。暂存区的东西可以随时增删,方便你临时改动。
|
||||
- **版本库**:真正保存提交记录和所有文件的地方。
|
||||
- **提交**:一次上传+保存,把暂存区的内容永久记录下来,成为版本库的内容。
|
||||
|
||||
核心流程就是:改文件 → 加到暂存区 → 提交到版本库。
|
||||
|
||||
---
|
||||
|
||||
## 四、常用操作
|
||||
|
||||
- 注:如果你使用VS等IDE或者VS Code等富文本编辑器,一般会自带Git管理工具,不用你直接输入指令,直接点UI上的按钮就行。但你只是不需要手动输入命令,仍然需要掌握命令的具体功能和含义。
|
||||
|
||||
### 1.创建一个新仓库
|
||||
|
||||
进入你的项目文件夹,在这个目录下打开终端,执行:
|
||||
|
||||
```bash
|
||||
git init
|
||||
```
|
||||
|
||||
这会在这个文件夹里创建一个 `.git` 目录(在Windows上会直接显示出来,其他UNIX/UNIX-like系统会隐藏),从此它就被Git管理了。
|
||||
|
||||
### 2.查看当前状态
|
||||
|
||||
```bash
|
||||
git status
|
||||
```
|
||||
|
||||
它会告诉你哪些文件改了、哪些还没提交。不知道下一步该干嘛时就敲它。
|
||||
|
||||
### 3.把改动加入暂存区
|
||||
|
||||
```bash
|
||||
git add 文件名 # 添加某个文件
|
||||
git add . # 添加所有改动
|
||||
```
|
||||
这样就会把文件丢到暂存区。
|
||||
|
||||
### 4. 提交
|
||||
|
||||
```bash
|
||||
git commit -m "说明这次改了什么"
|
||||
```
|
||||
|
||||
引号里写简短说明,比如 `"修复登录按钮失效"`。提交之后就会,暂存区里的东西就会变成版本库里的东西。
|
||||
|
||||
### 5.查看历史
|
||||
|
||||
```bash
|
||||
git log # 详细历史
|
||||
git log --oneline # 一行一条格式的历史
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、和远程仓库配合
|
||||
|
||||
### 1. 把本地仓库连到远程,上传本地文件到远程
|
||||
|
||||
先在Git服务器(可以是Github,或者任意Git服务器)上新建一个空仓库,然后执行:
|
||||
|
||||
```bash
|
||||
git remote add origin 仓库地址
|
||||
git branch -M main
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
之后每次上传文件只需要执行:
|
||||
|
||||
```bash
|
||||
git push
|
||||
```
|
||||
|
||||
### 2. 把远程仓库的内容复制到本地
|
||||
|
||||
```bash
|
||||
git clone 仓库地址
|
||||
```
|
||||
这样就可以把服务器上保存的文件,全部一股脑地下载下来。
|
||||
|
||||
### 3. 拉取别人的更新
|
||||
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
如果你的本地仓库落后于远程仓库,就需要使用这个命令,来更新你自己的本地仓库。
|
||||
|
||||
---
|
||||
|
||||
## 六、创建和合并分支
|
||||
|
||||
分支让你在不影响主干的情况下进行修改。类似于你要开发一个软件的测试版,但是又不希望影响已经有的正式版,就需要创建分支。等你觉得这个测试版已经够稳定了,就可以把它的更新内容扔进正式版(合并分支到主干)。以下是它常用的命令:
|
||||
|
||||
```bash
|
||||
git branch # 查看所有分支
|
||||
git branch 新分支名 # 创建新分支
|
||||
git checkout 分支名 # 切换你要的分支
|
||||
git checkout -b 新分支名 # 创建并切换你要的分支
|
||||
```
|
||||
|
||||
合并分支的命令:
|
||||
|
||||
```bash
|
||||
git checkout main #先切换回主干
|
||||
git merge 要合并的分支名
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、后悔药:撤销操作
|
||||
|
||||
如果你改乱了文件,想还原:
|
||||
|
||||
```bash
|
||||
git checkout -- 你要还原的文件名
|
||||
```
|
||||
|
||||
如果你是已经 `git add` 了,想撤回暂存区的内容:
|
||||
|
||||
```bash
|
||||
git reset 要撤回的文件名
|
||||
```
|
||||
|
||||
如果你已经 `git commit` 了,想撤销这次提交但保留改动:
|
||||
|
||||
```bash
|
||||
git reset --soft 提交编号
|
||||
```
|
||||
|
||||
如果想彻底回滚到某次提交(相当于还原回旧版本的备份):
|
||||
|
||||
```bash
|
||||
git reset --hard 提交编号
|
||||
```
|
||||
|
||||
提交编号用 `git log --oneline` 查看。
|
||||
|
||||
---
|
||||
|
||||
## 八、日常最典型的一套流程
|
||||
|
||||
```bash
|
||||
git pull # 先从远程仓库拉取最新代码
|
||||
# ...然后你疯狂在本地仓库里改代码...
|
||||
git status # 看看改了啥
|
||||
git add . # 全部加入本地的暂存
|
||||
git commit -m "完成登录功能" # 把本地的暂存正式保存到本地的版本库
|
||||
git push # 把你的更新上传到远程仓库,这样别人也能下载更新了
|
||||
```
|
||||
|
||||
记住这五步,80% 的日常使用就够了。但是大型合作项目,由于人数众多,你提交的git push别人不一定能马上下载,反之同理。这个时候就需要开分支,大家各改各的,互相不干扰,最后分别合并回主干即可。
|
||||
|
||||
---
|
||||
|
||||
## 九、常见问题
|
||||
|
||||
**push 时要求输入账号密码?**
|
||||
现在GitHub不支持密码推送,需要用 Personal Access Token(在 GitHub 设置里生成)代替密码。
|
||||
如果不是Github,就用你在这个Git服务器里注册的账号和密码就行。
|
||||
|
||||
**文件冲突了怎么办?**
|
||||
`git pull` 或 `merge` 时如果提示冲突,打开冲突文件,会看到 `<<<<<<<` 和 `>>>>>>>` 标记,手动选择保留哪部分,删掉标记,然后重新`git add` + `git commit`就可以了。
|
||||
|
||||
**提交信息写错了想改?**
|
||||
|
||||
非常简单:
|
||||
```bash
|
||||
git commit --amend -m "新的说明"
|
||||
```
|
||||
|
||||
**不想让某些文件被Git管理?**
|
||||
在项目根目录建一个 `.gitignore` 文件,把文件名或文件夹写进去,比如:
|
||||
|
||||
```bash
|
||||
node_modules/ #某个文件夹下的所有文件
|
||||
*.log #所有的某个类型的文件
|
||||
.env #某个特定的单个文件
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十、学习建议
|
||||
|
||||
1. 先在自己的文件夹里反复练 `add / commit / log / status`。
|
||||
2. 熟练后再连接到Git服务器练习 `push / pull / clone`。
|
||||
3. 遇到报错先别慌,把报错信息读一遍,多数提示已经告诉你该怎么做。实在不行就扔给AI。
|
||||
|
||||
Git的命令很多,但日常真正高频的就上面这几个。先把这套流程跑顺,剩下的用到再查文档即可。
|
||||
Reference in New Issue
Block a user