1、工作区、暂存区、版本库
Git 是一个开源的分布式版本控制系统,它允许多个开发者同时在同一个项目上工作,而不会互相干扰。Git 通过三个主要的区域来管理文件的变更:工作区(Working Directory)、暂存区(Staging Area)和版本库(Repository)。
-
工作区(Working Directory) 工作区是文件存放的地方,也就是你的项目目录。当你在编辑器中修改文件或添加新文件时,这些文件就存在于工作区中。工作区中的文件可以是未被跟踪的(untracked),也可以是已修改的(modified)。
-
暂存区(Staging Area) 暂存区是一个准备下一次提交的文件列表。当你使用
git add
命令时,你实际上是将工作区中的文件变更添加到暂存区。暂存区是一个索引,它记录了下一次提交将要包含哪些文件的变更。 -
版本库(Repository) 版本库,也被称为.git目录,是Git用来保存项目历史记录的地方。当你执行
git commit
命令时,暂存区的文件变更会被永久保存到版本库中。版本库中保存了项目的完整历史,包括所有的提交、分支和标签。
2、常用的 Git 操作命令:
-
初始化仓库
git init
在项目目录中创建一个新的 Git 仓库。
-
克隆远程仓库
git clone <repository_url>
从远程仓库克隆整个项目到本地。
-
添加文件到暂存区
git add <file_or_files>
将更改的文件添加到暂存区,准备下一次提交。
-
提交更改到本地仓库
git commit -m "Commit message"
将暂存区的更改提交到本地仓库,并附上提交信息。
-
查看当前状态
git status
查看当前仓库的状态,包括哪些文件被修改、哪些文件在暂存区等。
-
查看提交历史
git log
查看项目的提交历史。
-
查看文件差异
git diff
查看工作目录中当前文件和暂存区或最后一次提交之间的差异。
-
查看远程仓库
git remote -v
查看远程仓库的详细信息。
-
拉取远程分支的更改
git pull <remote_name> <branch_name>
从远程仓库拉取指定分支的更改并合并到当前分支。
-
推送本地更改到远程仓库
git push <remote_name> <branch_name>
将当前分支的更改推送到远程仓库。
-
创建新分支
git branch <branch_name>
创建一个新的分支。
-
切换分支
git checkout <branch_name>
切换到指定的分支。
-
删除分支
git branch -d <branch_name>
删除本地分支。
-
查看分支图
git branch -vv
以图形方式显示本地分支和远程分支的状态。
-
查看远程分支的提交
git fetch
从远程仓库获取所有分支的最新状态,但不自动合并到当前分支。
-
合并分支
git merge <branch_name>
将指定分支的更改合并到当前分支。
-
撤销工作目录中的更改
git checkout -- <file_name>
撤销对指定文件的更改,如果已经将更改添加到暂存区,但尚未提交,可以使用重置暂存区下命令撤销暂存区的更改,然后再撤销工作目录中的更改
-
重置暂存区
git reset HEAD <file_name>
将暂存区的文件撤销到最后一次提交的状态。
-
重置当前分支
git reset --hard
将当前分支重置到最后一次提交的状态,放弃所有未提交的更改
-
配置 Git
- 查看配置:
git config --list
- 设置全局用户名:
git config --global user.name "Your Name"
- 设置全局邮箱:
git config --global user.email "your_email@example.com"
- 查看配置: