初始化的设置
1.设置用户名
$ git config --global user.name “用户名”
2.设置用户邮箱
$ git config --global user.email “邮件名”
3.查看git设置列表信息
$ git config --list
4.查看用户名
$ git config user.name
5.通过命令 git init 把这个目录变成git可以管理的仓库,如下:
Demo演示(1)
第一步:使用命令 git add readme.txt添加到暂存区里面去。
1.在testgit文件夹下创建一个readme.txt
2.使用git add readme.txt添加到暂存区里面
第二步:用命令 git commit告诉Git,把文件提交到仓库。
查看是否有文件未提交
现在我去修改readme.txt文件,在去git status。
上面提示文件修改了但是还没有提交。
查看readme.txt文件到底改了什么
git diff readme.txt
再次对readme.txt提交到仓库。
1.git add(先到暂存区)
2.git commit(接着到仓库)
版本回退
添加一行ssssss
查看对readme.txt文件修改历史记录 git log
上面显示我对readme.txt文件三次修改后的并提交的修改。
现在使用版本回退操作。
方式1:git reset --hard HEAD^ 回到上一个版本,HEAD^^表示上上个版本。依次类推
方式2:git reset --hard HEAD~99 回退到前99个版本
查看内容
再次查看历史记录
回到最新的版本
添加ssssssss的历史记录看不到了。
但是现在想回到最新的版本,有sssssss的版本。
1.使用git reflog 查看sssssss的版本号。
2.使用git reset --hard 版本号(恢复)
三:理解工作区与暂存区的区别?
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
Demo演示(2)
1.在readme.txt添加一行oooooo 和添加一个test.txt
2.提交到暂存区和仓库
Git撤销修改和删除文件操作。
情况一、还没有提交到暂存区
1.我在向readme.txt添加一行xxxxxxx
2.在未提交前,发现xxxxxxx内容是有误的,所以要进行恢复
git checkout – file 可以丢弃工作区的修改。
撤销修改后,xxxxx的内容就没有了。
情况二、readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
删除文件
远程仓库
本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
ssh-keygen -t rsa -C "邮箱"
把上面的id_rsa.pub的公钥信息填到下面新添加的公钥中去
1.把远程仓库的账号中添加一个本地的公钥
2.在远程仓库中建立一个仓库
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起,只要本地作了提交,就可以通过如下命令:
git push origin master
远程就能看到修改内容
如何从远程库克隆?
git clone https://gitee.com/royLuo11741/Test2.git
创建与合并分支
在 版本回填退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
创建一个dev分支,然后切换到dev分支上。
合并分支
删除dev分支
参考的博客:https://blog.csdn.net/qq_36150631/article/details/81038485?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task