git的三个区域:1.工作区 2.暂存区 3 .git仓库
git文件的三种状态:1.已修改 modified 2.已暂存staged 3.已提交committed
1. 配置全局信息(每个电脑只需要配置一次)
在提交的记录上,可以查看到配置的用户名和邮箱地址
git config --global user.name "用户名" // 配置用户名的 git config --global user.email "邮箱地址" // 配置邮箱地址
查看已经配置好的信息
-
在
c:\users\用户名\.gitconfig
中 -
git config --list --global // 查看全局所有的配置信息
-
git config user.name
-
git config user.email
获取帮助:
git help config
简明的在终端中打开帮助
git confg -h
在浏览器打开git 配置命令帮助
2. 初始化Git仓库(每个项目只需要初始化一次)
-
将本地文件夹(项目文件夹,可以是空文件夹也可以是写过代码的文件)进行初始化
# 进入到本地文件夹(项目文件夹) 输入以下命令 git init
-
从远程服务器上下载已经存在的 Git 仓库
3. 查看当前文件状态(可做可不做,不影响后续的Git使用)
# 常用命令 git status (查看文件报告) # 精简模式 git status -s (查看精简的文件报告) git status --short
文件的4中状态
-
未跟踪(Untracked) - 新建了一个文件的状态
-
-
已暂存(Staged)- 将新建文件或者已修改文件添加到暂存区
-
未修改(Unmodified)- 将暂存区的文件提交到Git仓库
-
已修改(Modified)- 将已经存到Git仓库的代码进行了修改
4. 将文件添加到暂存区(常用操作1)
# 将单独的文件添加到暂存区 git add 文件名 # 将所有已修改或新建文件添加到暂存区 - 常用 git add .
5. 将暂存区的代码提交到Git仓库(常用操作2)
git commit -m "本次提交的信息,一般都写完成的内容"
6. 将工作区的修改后的代码回退到上一次提交Git仓库的版本
git checkout -- 文件名
7. 将暂存区的文件移除掉
git reset HEAD 文件名
8. 跳过暂存区直接将修改的文件提交到Git仓库
git commit -a -m "本次提交的信息,一般都写完成的内容"
9. 移除Git仓库和工作区的文件
移除了文件之后,不管是哪种移除方式,移除的记录都会在暂存区保留,我们需要将暂存区移除记录提交到Git仓库中,然后再进行后续的操作
# 第一种,同时移除git仓库和工作区的文件 git rm -f 文件名 # 第二种,将文件从Git仓库中移除,保留工作区的文件(同时有红绿两种状态,提交暂存移除记录再修改好css文件后提交到暂存区,再提交到Git仓库) git rm --cached 文件名
10. 查看提交版本记录(一般情况下是配合回退使用)
# 查看全部版本提交记录,如果记录很多就可能展示不全,按下回车就可以继续往后看,知道出现 End表示全部记录展示完毕,此时按下q键就可以退出查看模式,就可以继续输入命令 # 第一个常用 git log # 如果想查看最近提交的n(具体的数字)条记录 git log -2 # 展示n(具体的数字)条记录并将每条结果展示在一行上 git log -2 --pretty=oneline # 按照自定义格式查看提交记录 %h表示记录id,%an表示作者,%ar表示提交时间,%s表示提交备注 git log -2 --pretty=format:"%h|%an|%ar|%s"
11. 回退到指定版本(恢复代码到某一阶段)
先查看提交历史,为了获取每一次提交的id
# 提交的id可以是前几位字符(一般5位以上),在回退之前一定要把所有的提交记录做备份,因为回退之后就无法看到回退这个版本之后的记录了,如果要返回的话仍然需要id git reset --hard 提交的id # 查看之前操作步骤,可以查看回退之前的当前id git reflog
今天学的常用内容
# 1. 初始化仓库,每个项目只要用到了 Git 就需要执行一次 git init # 2. 将工作区写好的代码提交到暂存区 git add . # 3. 将暂存区的文件提交到Git仓库 git commit -m "备注" # 每完成一部分任务,循环执行2、3步骤 # 如果遇到意外情况,比如说客户要求不要新代码了,要之前的代码,使用回退命令 # 1. 查看每一次提交的版本记录,查看备注和提交id git log # 2. 回退到指定版本 git reset --hard 提交id