本笔记摘自廖雪峰的git教程:https://www.liaoxuefeng.com/wiki/896043488029600
1、进入要建立仓库的文件夹目录,$ git init,初始化仓库,产生.git隐藏文件夹,仓库
2、在当前文件夹下增加修改文件,$ git add xxx 添加文件,$ git add . 是把当前目录下的所有文件加入缓冲区。
3、$ git commit -m "abcd" 引号里面是注释的内容,本次提交的说明,这条命令将文件提交到仓库。
4、可以多次add 不同的文件,commit一次提交多个文件。如:$ git add file1,$ git add file2,$ git commit -m "add 2 files."
5、$ git status 查看当前文件的状态,只显示修改,不显示具体修改的内容。
6、$ git diff xxx,xxx是文件名,查看xxx文件具体修改的内容。
7、$ git log,命令显示从最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数。
8、Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交。上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
$ git reset --hard HEAD^,把当前版本回退到上一个版本,用cat xxx 查看可以看到被还原。Git提供了一个命令git reflog用来记录你的每一次命令,$ git reflog ,可以看到你想到回退的版本的commit id,找到后, git reset mmm就可以了,mmm是版本号,不必写全。
9、工作区和暂存区。工作区就是你在电脑里能看到的目录。工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。版本库里有个暂存区,在git里叫stage。我们git init之后自动生成一个stage,和一个master默认分支。,我们$git add之后的内容都放在stage下,而git commit 后stage下的内容会被提交到master(或者自己创建的其他分支)下。使用git status将会清晰的看到stage下的内容。
10、$ git checkout -- file 是将当前工作区的内容退回到最近一次git add 或者git commit的文件状态
11、$git reset HEAD --file 是将当前暂存区的内容退回到最近一次的commit内容。get reset HEAD^ --file 是退回到最近第二次commit的内容,以此类推。
12、$git branch dev 是新建一个分支
13、$git switch dev/master 切换到dev/master分支
14、$git merge master 是将当前分支的内容归并到master分支上。