- 主要有三块区域:工作区/暂存区/远程仓库
- 工作区可以理解是平时代码编辑的地方
- 暂存区可以理解是git add之后的地方
- 远程仓库可以简单理解为git push 后的地方
- git commit后会在本地新增一个节点
00 HEAD
- Git中有一个名为 HEAD 的特殊指针,它是一个指针,指向当前所在的本地分支(可以将 HEAD想象为当前分支的别名)
01 查看状态
- git status
02 把工作区文件放到暂存区文件
- git add . # 点表示匹配当前目录下的所有改动的文件
- git add <file_name1> <file_name2> # 定向添加某个文件,或多个文件,以空格分隔
- git add <path>/* # 通配符,表示匹配path路径下的所有文件
03 把暂存区文件提交到远程仓库中:注:注释可以通过单引号来换行’’
- git commit -m <info_message>
04 查看提交记录(commit记录)
- git log # 默认查看所有
- git log --author="vegazhang" # 查看指定用户的git提交记录
05 配置用户名和邮箱
- git config --global user.name "vegaviazhang" # 最好和github一致
- git config --global user.email "vegazhang@fox.com" # 最好和github一致
- git config --global --list # 可以查看到配置的信息
06 删除文件
- 1) 资源管理器直接右键删除;然后再git add <file_name>
- 2) 或者命令行直接使用如下命令: git rm <file_name>
07 重命名文件
- 1) 资源管理器右键修改文件名
- 2) 或者命令行直接使用如下命令: git mv <old_file_name> <new_file_name>
08 移动文件到其他未知
- 1) 资源管理器拖拽
- 2) 或者命令行直接使用如下命令: git mv <file_name> <folder_name(文件夹名)>
07/08放一起 (移动并重命名):
- 命令行:git mv <old_file_name> <folder_name>/<new_file_name>
09 查看具体某次提交时,某个文件前后的变化
- 方法1):
(1) 要先拿到具体某次提交的id
git log --pretty=oneline <file_name> # 某个具体文件的提交日志,并在一行上显示,拿到行首的字符串,也就是提交的id
(2) 使用命令显示某次某个文件提交前后的具体变化
git show <commit_id>
- 方法2):查看该文件的改动,上级及之前的版本改动
(1) git log -p <file_name>
-【fyi】:**【
- 改动后文件,
- 如果文件没有被添加到暂存区,一般为红色
- 如果文件已经添加到暂存区,一般位绿色
- 】**
10 恢复某个文件的改动(即与上一次提交的状态保持一致)(******)
- 注:此时这个文件并没有被添加到暂存区,即没有使用git add <file_name>,才可以使用,add之后文件的处理看下面11
- git checkout -- <file_path/file_name>
11 撤销某个文件的追踪【重点关注】
- 注:应用场景:已经被git add 的文件撤销其追踪,然后可以使用10中git checkout -- <file_path/file_name>
- git reset HEAD <file_path/file_name>
- 此时的颜色恢复到红色
- 再使用10中的git checkout -- <file_path/file_name>
12 将所有文件的代码(即整个项目)回到上一个版本或者指定版本【重点关注】【慎重使用】
- <font size="4" color="blue">此方法会使本地工作区的代码一并改变,慎重</font>
- 方法1):回退到附近的版本
(1) git reset --hard HEAD^ # 一个尖括号:表示回到上一个版本
(2) git reset --hard HEAD^^ # 2个尖括号:表示回到上两个版本
- 方法2):利用<commit_id>,回退到指定的版本(可以回到上1,2,3,50,100,1000个版本。。。)
step1:git log # 获取想要回到的<commit_id>
step2:git reset --hard <commit_id>