git 学习笔记(常用命令)

时间:2022-02-22 00:14:03

1.新建一个文件,如果没有使用git add 命令将它提交到暂存区,那么这个文件就还没有被跟踪。

2.通过配置.gitignore文件可以指定要忽略的文件,被忽略的文件夹是不会被提交到暂存区的。所以这只对未跟踪的文件有效。

3.git rm --cached <file>:将文件从暂存区中删除

4.git rm -f <file>:将文件从工作区和暂存区中删除

5.git add <file>:将工作区中的内容提交到暂存区

6.git commit -m :根据暂存区中的内容创建一个提交记录,将暂存区中的内容提交到提交区

7.git diff :比较工作区和暂存区的差异

8.git diff --cached [<reference>]:比较暂存区和某次提交的差异,默认比较暂存区和HEAD的差异

9.git reset HEAD <file>:将提交区中的内容复制到暂存区,工作区中的内容不会发生变化

10.git checkout  -- <file>:将暂存区中的内容复制到工作区,如果工作区中的内容与暂存区中的内容不一致,工作区中的修改会被丢弃。

11.git checkout HEAD -- <file>:将提交区中的内容复制到工作区和暂存区。这样工作区和暂存区就都是上次提交的内容了

12.git branch <branchName>:创建分支

13.git branch -d <branchName>:删除分支

14.git branch -v:显示所有分支

15.git checkout -b <branckName>:创建并切换分支

16.git reset [--mixed] <commit>:将当前分支回退到历史某个版本(可以省略掉--mixed),将这个版本中的内容复制到暂存区。(master和HEAD指针会发生移动)

17.git reset --hard <commit>:将当前分支回退到历史某个版本,将这个版本中的内容复制到暂存区和工作目录.(master和HEAD指针会发生移动)

18.git reset --soft <commit>:将当前分支回退到历史某个版本,暂存区和工作区不会发生变化仅仅master和HEAD指针会发生移动

19.git reset 和 git checkout 的区别。git reset和git commit 都可以对commit和file进行操作

 

命令 范例 移动(HEAD/branch) 说明
git reset [commit] git reset HEAD^ --soft 是/是 完全回退到某个版本
git reset [file] git reset HEAD ./test.text 否/否 将暂存区恢复到提交区的状态
git checkout[commit] git checkout master 是/否 HEAD指针移动到某次提交
git checkout[file] git checkout -- ./test.text 否/否 将暂存区中内容复制到工作区

20.git stash save:保持当前工作区和暂存区

21.git stash list :列出所有的stash

22.git stash apply:恢复之前的某次stash

23.git stash drop:删除某次stash

24. git stash pop = git stash + git drop

25.git merge:合并分支

26.git fetch:从远程分支获取代码

27:git pull = git fetch + git merge