git零基础教学

本文的参考文献来源于https://blog.csdn.net/wangrenbao123/article/details/55511461/

一、git的下载和安装

1.首先在官网下载git安装文件,这个你直接百度就可以,一般在第一个,那是个英文网站,你看url大概是git啥的就是了。
2.安装git,就把他的安装目录改到D盘了,其他全点下一步,安装完成。
3.打开他的安装目录,你会发现他有git-bash.exe和git-cmd.exe,这两个都是类似于windows下的命令行一样,至于这两者的区别百度上都有,我就不复述了,一般我们选用git-bash.exe。
在这里插入图片描述

二、git的本地仓库建立

1.双击打开git-bash.exe.
在这里插入图片描述
2.登录你的github账号
git config –global user.name “your name”(注意global前有两个横线)
git config –global user.email “your email”
在这里说明下,其实这个用户名和邮箱不进行验证,也就是说你可以胡乱编,因为你通过下面可以看出(那个就是胡编的,不是我github账号),这个只是用来操作git的,就是你可以知道是哪个用户对文件进行的修改。

3.选择一个文件夹建立你的本地仓库,我选的是我F盘下的github/GitTest文件夹。首先进到这个目录下,输入git init初始化仓库
在这里插入图片描述
4.此时你会发现你的目录下有一个隐藏的.git文件夹, 这个文件是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。
在这里插入图片描述

5.现在,你的git本地仓库建立完成了,你可以在这个文件夹里建立文件,然后对它进行版本控制。

三、本地仓库的文件版本控制

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。下面进行演示

1.版本修改
第一步:在文件夹里建立一个txt文件,并输入其内容为111111。
在这里插入图片描述
在这里插入图片描述
第二步:使用git add demo.txt添加到暂存区里面去。
在这里插入图片描述
第三步:用命令 git commit把文件提交到仓库。
在这里插入图片描述
现在我们已经提交了一个demo.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交
在这里插入图片描述
显示没有任何文件未被提交。
第四步:我现在修改demo.txt文件,比如我在下面一行添加222222,继续使用git status 查看结果
在这里插入图片描述
在这里插入图片描述
上面的命令告诉我们 demo.txt文件已被修改,但是未被提交的修改。
接下来我想看下demo.txt文件到底改了什么内容,如何查看呢?可以使用如下命令:
git diff demo.txt
在这里插入图片描述
可以看到对demo.txt进行了哪些修改,然后可以提交到仓库了。这里注意,提交先git add再git commit。
git commit -m “注释这次修改了哪些内容”
在这里插入图片描述
总结:首先在本地任意位置建立一个本地git仓库,然后在仓库里建立文件对它进行版本控制,你自己修改了文件后,git status会显示no changes added to commit,就是说你改了但我git并不知道具体的信息,你得告诉我,我记录下来,然后更新文件。所以把文件加载到暂存区使用git add命令,然后再git commit提交。这时查看status显示文件没有变动。

2.版本回退
现在我继续对demo.txt文件进行修改,再增加一行内容为333333继续执行命令如下:
在这里插入图片描述
目前,我们已经对文件进行了三次修改(必须是提交了才算真正意义上的修改),要想退回版本,你得知道我们做了哪些修改,我们现在可以查下历史记录git log
在这里插入图片描述
从上到下依次是从新到旧,显示了每次修改的版本号、注释、修改的用户、时间。如果嫌上面显示的信息太多的话,我们可以使用命令 git log –pretty=oneline(注意两个减号) 演示如下:
在这里插入图片描述
现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?可以使用如下2种命令,第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。
现在做示例:
在这里插入图片描述
打开文件,发现第三行没有了
在这里插入图片描述
现在我又想退回到最新的那个状态(有3的),我们可以通过版本号回退。
git reset –hard 版本号,首先我们获取版本号:git reflog
在这里插入图片描述
看到增加333333的版本号是14ef8e2,现在可以恢复了,演示:
在这里插入图片描述
查看文件,恢复到了333333。
3.理解工作区与暂存区的区别?

  • 工作区:就是你在电脑上看到的目录,比如目录下GitTest里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
  • 版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

我们前面说过使用Git提交文件到版本库有两步:
  第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
  第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
4.git撤销未提交的改动
 比如我现在在demo.txt文件里面增加一行 内容为444444,我们先通过命令查看如下:
 在这里插入图片描述
在我未提交之前,我发现添加444444内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改:
第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。
第二:我可以按以前的方法直接恢复到上一个版本。使用 git reset --hard HEAD^
但是现在我不想使用上面的2种方法,我想直接想使用撤销命令该如何操作呢?首先在做撤销之前,我们可以先用 git status 查看下当前的状态。如下所示:
在这里插入图片描述
可以发现,Git会告诉你,git checkout – file 可以丢弃工作区的修改,如下命令:
git checkout – demo.txt
在这里插入图片描述
查看status发现已经没有未提交的改变了,即它撤销了你之前未提交的修改。
命令 git checkout --demo.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:

  • demo.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。(上面是此种情况)
  • 另外一种是demo.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。(由下面的试验可知,它撤销的就是你未提交的最近一次操作,不管你是否git add)

对于第二种情况,我想我们继续做demo来看下,假如现在我对demo.txt添加一行 内容为555555,我git add 增加到暂存区后,接着添加内容666666,我想通过撤销命令让其回到暂存区后的状态。如下所示:
在这里插入图片描述
 注意:命令git checkout – demo.txt 中的 – 很重要,如果没有 – 的话,那么命令变成创建分支了。

四、远程仓库

先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置。
这里,我上面说登录gitbash时不对用户名和邮箱进行验证,这里最好改成你的github账号,因为下面我要用它生成ssh key。
 第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
ssh-keygen -t rsa –C “youremail”,
没有出现错误的话,一直敲回车确定。
在这里插入图片描述
查看目录
在这里插入图片描述
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
在这里插入图片描述
在这里插入图片描述
点击 Add Key,你就可以看到已经添加的key。
在这里插入图片描述
1.如何添加远程库?
  现在的情景是:我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。

首先,登录github上,然后在右上角找到“create a new repo”创建一个新的仓库。如下:
在这里插入图片描述
创建成功。

目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

现在,我们根据GitHub的提示,在本地的testgit仓库下运行命令:
git remote add origin https://你的地址
git push -u origin master
在这里插入图片描述   
  由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了。
在这里插入图片描述
 从现在起,只要本地作了提交,就可以通过如下命令:
 git push origin master
 把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。

  1. 如何从远程库克隆?
      上面我们了解了先有本地库,后有远程库时候,如何关联远程库。现在我们想,假如远程库有新的内容了,我想克隆到本地来 如何克隆呢?
      
    我先在github上建立了一个仓库hello-world
    在这里插入图片描述
    现在,远程库已经准备好了,下一步是使用命令git clone克隆一个本地库了。
    在这里插入图片描述
    接着在我本地目录下 生成hello-world目录了.

在这里插入图片描述

未完待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值