1. 什么是 Git?
Git 是一个分布式版本控制系统,由 Linus Torvalds 于 2005 年创建。它的主要目的是帮助开发者有效地管理和跟踪项目的历史版本。通过使用 Git,你可以轻松地记录每一次代码的修改,回滚到以前的版本,以及与其他人协作开发项目。
2. 配置 Git
首次使用 Git 之前,需要配置用户信息,这样每次提交时 Git 都会知道是谁提交的。
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
--global
表示这是全局配置,适用于所有 Git 仓库。如果你想为某个特定的仓库配置用户信息,可以在该仓库目录下使用相同的命令,去掉--global
参数。
3. 创建 Git 仓库
3.1 初始化新仓库
-
在项目根目录下打开终端。
-
执行以下命令初始化一个新的 Git 仓库:
git init
这会在当前目录下创建一个名为 .git
的隐藏目录,里面存储了 Git 仓库的所有信息。
3.2 克隆现有仓库
-
如果你要从远程仓库克隆项目,可以使用以下命令:
git clone <repository-url>
例如:
git clone https://github.com/username/repository.git
这会将远程仓库克隆到本地当前目录下的一个子目录中,子目录的名称默认为远程仓库的名称。
4. 基本 Git 流程
4.1 添加文件到暂存区
git add <file>
如果要添加所有修改过的文件,可以使用:
git add .
4.2 提交更改
git commit -m "提交信息"
提交信息应该简洁明了,描述本次提交的主要内容。例如:
git commit -m "修复登录界面的输入框问题"
4.3 推送更改
git push origin main
注意:origin
是远程仓库的默认名称,main
是主分支的名称。如果你的远程仓库使用的是 master
分支,可以将 main
替换为 master
。
5. 查看仓库状态
5.1 查看当前状态
使用 git status
查看当前仓库的状态,包括哪些文件已被跟踪,哪些文件未被跟踪。
git status
输出示例:
On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
nothing added to commit but untracked files present (use "git add" to track)
5.2 查看提交历史
使用 git log
查看提交历史。
git log
为了更简洁地查看历史,可以使用:
git log --oneline
输出示例:
1a2b3c4 Fix login input issue
5f6g7h8 Add new feature
9i0j1k2 Initial commit
6. 分支管理
6.1 创建分支
创建一个新分支。
git branch <branch-name>
例如:
git branch feature-login
6.2 切换分支
切换到另一个分支。
git checkout <branch-name>
例如:
git checkout feature-login
也可以一步完成创建和切换:
git checkout -b <branch-name>
例如:
git checkout -b bugfix-login
6.3 合并分支
将一个分支的更改合并到当前分支。
git merge <branch-name>
例如:
git merge feature-login
如果合并过程中出现冲突,Git 会标记出冲突的部分。你需要手动编辑文件,解决冲突后,再继续提交:
git add <conflicted-file>
git commit -m "解决冲突"
6.4 删除分支
删除一个已经合并的分支。
git branch -d <branch-name>
例如:
git branch -d feature-login
7. 撤销更改
7.1 撤销工作区的更改
恢复工作区的文件到最近一次提交的状态。
git checkout -- <file>
例如:
git checkout -- index.html
7.2 撤销暂存区的更改
将已添加到暂存区的文件移出暂存区。
git reset <file>
例如:
git reset index.html
7.3 撤销提交
撤销最近一次提交,但保留工作区和暂存区的更改。
git reset --soft HEAD~1
如果要完全撤销最近一次提交,包括工作区和暂存区的更改:
git reset --hard HEAD~1
8. 获取远程仓库的最新更改
8.1 拉取最新更改
从远程仓库获取最新的更改并合并到当前分支。
git pull
如果你想从特定的远程仓库和分支拉取更改,可以使用:
git pull <remote> <branch>
例如:
git pull origin main
9. 常用命令总结
git init
:初始化一个新的 Git 仓库。git clone <repository-url>
:克隆一个远程仓库。git add <file>
或git add .
:将文件添加到暂存区。git commit -m "提交信息"
:提交暂存区的文件。git push origin <branch-name>
:将本地分支的更改推送到远程仓库。git status
:查看当前仓库的状态。git log
或git log --oneline
:查看提交历史。git branch <branch-name>
:创建新分支。git checkout <branch-name>
:切换到指定分支。git merge <branch-name>
:合并分支。git pull
:从远程仓库拉取最新更改。git reset --soft HEAD~1
:撤销最近一次提交,但保留工作区和暂存区的更改。git reset --hard HEAD~1
:完全撤销最近一次提交。
希望这篇笔记能够让你快速上手git,让你在控制版本的路上越走越远~