一.基础的Git命令学习
1.配置用户名和Email作为个人标识
2.初始化仓库
非系统盘非中文路径,建立一个文件夹learngit,如E:\learngit
命令行窗口,通过如图所示命令,进入该目录,并通过git init命令,将该目录初始化为一个git仓库
3.向仓库添加文件、提交文件
在learngit目录中新建一个README.md文件,添加“个人简介”内容
使用git add命令,将文件添加到仓库
使用git commint命令,将文件提交到仓库,提交的时候必须加说明
以上是完成了初始化仓库,添加和提交文件
上述我们已经成功的提交了文件,接下来开始进行文件的修改,例如我们把文件修改成这样:
Hello my world!
We are family!
修改完成之后我们输入命令git status:
运行之后,结果为:
git status:此命令可以让我们时刻掌握着仓库当前的状态,如上命令已经告诉我们文件已经修改,但未提交
虽然readme.txt已经被修改,但是想要看看修改了什么内容怎么办呢?这时需要输入git diff命令:
之后运行结果如下:
git diff:此命令实际上就是用于查看你修改的内容(difference),可以看到我们在上面添加了一个my
修改完之后我们就可以用git add 命令提交到仓库(提交修改和提交新文件一样):
输入完命令运行之后同样没有任何输出,接着我们输入命令git commit(提交)
最后我们再用git status命令看一下仓库当前的状态,显示没有文件要提交:
4.Git仓库状态查看
.git 目录,就是我们的本地仓库,我们的所有版本信息都会存在这里。而 .git 所在的这个根目录,称为 Git 的工作目录,它保存了我们当前从仓库中签出的内容。在项目的目录下输入:
第一行的下面,依次是这个 commit 的作者、提交日期和提交信息,其中提交信息记录了这个提交做了什么,是我们提交代码的时候填写的。
下面我们在test.txt文件中再加些内容:可以看到,当我们在test.txt下面再输入一行文字的后,test.txt文件的颜色变成了蓝色。
我们输入git status查看工作目录当前状态:我们可以看到,我们现在在masterbranch,test.txt文件有了一些改动,但是还没有进入暂存区。
我们可以使用git diff test.txt查看修改的内容:
接下来我们想提交这个文件,所以首先,你需要用 add 指令来让 Git 开始跟踪它:
然后我们再执行一次git status查看工作目录当前状态:
可以看到,test.txt 的文字变成了绿色,意思是这个文件中被改动的部分(也就是这整个文件啦)被记录进了 staging area(暂存区)。所谓的 staging area,是 .git 目录下一个叫做 index 的文件(嗯,它的文件名并不叫 stage )。我们通过 add 指令暂存的内容,都会被写进这个文件里。现在文件已经放进了暂存区,就可以提交了。提交的方式是用 commit 指令:git commit
然后我们按下i键进入编辑状态,在其中输入我们想要的内容,按ESC键返回命令模式,然后连续输入两个大写的 “Z”(用 Shift 键或 Capslock 键都可以),就保存并退出了。
这样,一次提交就完成了。这时如果你再执行一次刚才执行过的 git log(它会列出你的提交历史):
可以看到,我们的这条提交被列在了最上面,现在我们的提交历史中有两条记录了。这说明,我们已经成功做了两次提交到本地仓库,它已经被保存在了 .git 这个目录里的某个地方了。
这时我们再查看一次工作目录当前状态git status,发现,没有改动的地方了。
总结
首先你要搞一个文件夹。我们直接从从开始里面找到git bash 打开。
0:mkdir work
这时候就有了work的文件夹
1:cd work
这时候进入了work的文件夹
2:pwd
查看当前文件夹的目录
3:git init
Git就把仓库建好了,告诉你是一个空的仓库(empty Git repository),可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。这个目录是隐藏的,用ls-ah能看见
然后我们就可以开始添加一些文件了,比如你搞一个study.txt的文件,里面随便写点内容。
4:git add study .txt
这一步是把文件添加到仓库里面。
5:git status
查看当前仓库的状态,比如你已经修改过后,还没提交的话,它是会显示的。
6: git diff study.txt
顾名思义是different,这个指令可以查看修改后的文件和当前文件的区别
7: git commit -m "你提交的文件的说明"
这一步是把文件提交到仓库里面。提交完后就是一个版本了。
8:你随便改变study.txt里面的东西,重复上面的4-7过程。则有了第二个版本。
9:git log 或 git log --pretty=oneline
可以用这个来查看你提交的版本信息,并且可以看到提交的时间,和提交的版本号。第二个功能是一样的,只是减少一些显示的信息,只显示一行,
10:git reset --hard HEAD^
HEAD是当前的版本,HEAD^是回退到上一个版本。如果HEAD^^是回退到上上一个版本。以此类推下去。那么如何回到未来的版本呢?
11:cat study.txt
查看内容,发现已经回退到上一个版本。
12:git reset --hard commit ID
commit id是你提交的版本的ID,可以通过这个来回到未来的版本,那么如何找到这个ID呢?如果你没关掉当前的窗口的话,上面如果有git log的话,是可以找到你以前的版本号的。如果你关掉了,那也没事。
13: git reflog
这个记录了你的历史的指令,显然可以通过这个找到那个未来的版本号。然后用11的方法就可以回到未来的版本了。然后可以根据10继续回退= =此时的git reflog显示的指令就又多了一个。