Git的简易食用指南


一、前言

  • 为什么要学Git?

  Git,诞生于Linux之神Linus Torvalds之手,是一个开源的分布式管理系统,而且可以说是世界上最先进的(之一)(也许)。

  它具体有什么作用呢?

  • 想删除一段代码,但害怕以后找不回来,怎么办?——没关系,Git来帮你记录。
  • 别人修改了代码,我不知道他改了啥,怎么办?——没关系,Git上都可以留有痕迹。
  • 我想让大佬帮我改改代码,结果大佬改完了我还得手动合并,累死了,有啥办法嘛?——没关系,Git来帮你自动合并。
  • 我这软件的最新版本有BUG,想回退,咋整?——没关系,有Git,包您满意。

  Git,就是这么一个小巧,开源,能让代码分布在每一个开发者的电脑上,能记录并完成每一次修改的先进工具,是多人协作开发(没错我说的就是雏燕计划)的好伙伴。

  So,咱还不赶快开始学习起来?让Git消去多人协作开发时出现的一切烦恼?

二、学习前准备

  • 安装

  Mac:

  如果您是高贵的Mac用户,那太棒了!90%的情况下,你都不需要学会如何安装这个玩意——咱系统里自带着!

    但如果库克没有给您高贵的电脑预装Git,那也不要灰心,打开终端窗口,输入以下命令:

  https://git-scm.com/downloads

     然后,为了检查是否安装完成,您还需要输入以下命令:

  git --version

     如果输出了Git的版本信息,没有报错,恭喜您!安装成功了!

     Liunx:

   用liunx的大佬肯定完全不需要以下提示信息

   拜托,Git是Liunx之父开发的诶,安装不是so easy?

   打开你的Liunx终端,输入以下命令

  sudo apt-get install git

    静静等待,然后就大功告成咯!

    想用Liunx来体验Git的同学(我也强烈推荐大家在Win10下使用Liunx子系统来完成Git的操作,简单,还可以学到Liunx操作知识,岂不美哉?)

    可以移步阅读以下文章(13条消息) 从零开始系列(三):Windows10安装Linux子系统(WSL教程)_夏天的爱人是绿色的博客-CSDN博客

   Windows:

   知道你们会直接跳来看这个了,这才是人民群众的大多数选择啊!(认真脸

   First of all,那当然是要打开你亲爱的百度,找到Git的官方网站,点进去,进入Download选项卡,单击Download for Windows,

 

 

   出现这个,应该就下载成功咯!(如果没下载成功点那个download manually就好)

   下载好,安装完,我们就可以开始我们的教程啦!

三、新建Git仓库并提交我们的第一个README.md文档

  好了,是时候建立我们的第一个仓库了!

  去可爱的Windows菜单那里,找到Git文件夹,打开里面的Git Bash(Liunx或Mac的话直接打开你们的终端就行)

  

  

  这就是我们的工作窗口啦!窗口的标题写着当前所在的目录。

  我可不想往我的C盘里塞Git仓库,到时候把我C盘塞得满满当当,还不好找,怎么破?

  别急,我们来学习在命令行窗口下,对文件系统进行访问/操作的几个命令吧!

  mkdir 文件名

  作用:在当前目录下新建名字为”文件名“的文件夹

  cd 目录路径

  作用:前往某个路径 cd ../为回退到上级文件夹,cd bash为进入当前目录下的文件夹

  ls

  作用:查看当前文件夹下有哪些文件

  pwd

  作用:显示当前路径

  那么,咱们来实操一下,如何在D盘新建一个gitLearn文件夹,并进入该文件夹吧!

  答案如下:

   

  既然来到了新文件夹,那就让我们开始新建属于我们自己的仓库吧!在窗口里敲入以下命令:

  git init

  

 

  大功告成!

  新建README.md

  当然,咱可以不用跟自己过不去,用Windows的图形化界面,直接到指定位置新建一个README.md文件,用写字板输入就好。

  但是,由于教学需要装B,我们可以换一种方式,再教大家两个命令:

  echo  “你想输入的内容”>>文件名

  作用:将双引号内的内容输送到对应文件里

  cat 文件名

  作用:读取文件内容并打印在命令行窗口上

  我们来新建一个README.md,往里面输入Hello Git,作为我们添加到Git仓库的第一个文件吧!

  

 

  然后,我再介绍几条接下来要用到的命令:

  git status

  作用:查看Git仓库情况

  git add 文件名

  作用:将文件添加到git仓库的缓冲区里

  git commit -m”对于修改的描述“

  作用:将缓冲区的修改提交

  咱先敲一下git status,查看一下当前仓库情况:

  

 

  呀,README.md被标红了!

  标红意思是,README.md文件刚刚被修改过,或者刚刚被新建,即之前不存在仓库里/存在的不是这一个版本。

  咱们把它add进去后再查看一下状态:

  

   好了,现在变成绿色了,我们就可以commit,完成我们的第一步咯!

  

 

四、对仓库里的文件进行修改

  想修改刚刚写好的README.md,怎么办?

  没事,就像刚刚说的那样,修改之后,add进去,在commit第二次就好,我就直接甩出操作流程了:

  

 五、将文件上传到远程仓库

 

   诶,这讲了半天,我也没看到怎么进行多人协作啊?

  别急,这就开始第一步:把咱的Git库推送到远程仓库上!

  因为一些你知我知的原因,我就用Gitee进行展示了,GitHub也是类似的,请各位用GitHub的童鞋莫慌。

  在这之前,我们需要先获取一些东西。

  很显然,我们不希望让别人随意上传/更改我们的远程仓库。那怎么让远程仓库认得我们是谁呢?

  没错!我们需要一个凭证,这个凭证就是SSH 公钥

  具体是怎么验证的呢(涉及到一点点密码学知识):

  Git服务器会获取尝试push的成员信息,经过特定的加密计算方法(这里是SHA256),生成一串密钥,若这串密钥与先前作者上传的公钥匹配,则通过

  现在,在Git bash仓库里输入以下命令

ssh-keygen -t rsa -C "你自己的邮箱地址"
作用:创建你自己的SSH-Key

  然后咱一路回车就好(毕竟你也不是做啥保密工作的,也不需要设置什么密码)

  或者在问保存路径的时候更改一下(我就不更改了)

  

   咱们可以去给出来的路径里找到id_rsa.pub文件(在命令行上有写路径),接着用记事本打开它:

  

   接着,咱们打开Gitee的个人主页,在个人设置的安全选项卡上找到安全设置——SSH公钥,把刚刚生成的文件复制进去

  

 

     点击确定即可。

  接着,我们需要在本地设置一下个人信息

  

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

  如果想查看已经添加的信息,可以用如下命令查询

git config --list

  接下来,我们在Gitee上新建一个仓库,拿到仓库的ssh地址/http地址(一般选择前者,因为后者还需要输入账号密码登陆,比较麻烦)

  (不过Gitee的SSH不知为何经常抽风,所以咱还是用http来演示吧)

  

 

  如果你已经新建过仓库了,可以在如下位置找到仓库链接:

  

 

  使用以下代码把远程库和本地git库链接起来:

  

git remote add 远程仓库代替分支名(一般用origin) 远程仓库地址

  接着我们可以用 git remote -v来查看链接状态:

  

   最后直接利用push命令,将本地的分支push上去即可

git push 远程分支名 本地分支名 

  

     如果想要删除远端分支怎么办?可以使用以下命令

git remote rm 分支名

  然后再重新add就好啦

  好了,咱们去Gitee上的仓库看看,是不是已经上传上去了

   大功告成!

六、分支管理

  分支:

  想象一种情况:

  你想尝试修改调试某一Git仓库里的代码,可是你今天改了一半,没改完。

  你想commit把已经写了一半的修改保存,但又不希望其它人因为你的半成品代码干不了活,这可咋整?

  这时候就可以请分支出场了!

  你只需要创建一个属于自己的分支,把自己的修改提交到这个分支上,到时候码完了,再同原分支合并,岂不美哉?

  那现在我们就来一起学习吧!

  分支的创建和提交至远程仓库

  我们可以用以下命令来新建并进入分支:

git branch 分支名称
git checkout 分支名称

 

  当然,你也可以把两条命令写在一起,像这样:

git checkout -b 分支名称

  

   接下来咱对这个分支下的文件进行修改,然后提交,并push到远程仓库上

  

   好了,上传完毕!

  

  修改结束,如果我们现在想把远程仓库上的branch2和master给合并,又改怎么做呢?

  没错,我们要开始Pull Request咯!

  切换到Pull Request选项卡,选择新建Pull Request:

  

 

  在我们的例子中,待合并的分支是branch2,我们想把这个分支合并到master去,则我们可把branch2设置为源分支,master设置为目标分支:

 

  然后填写标题提交即可。

  接着,我们需要手动通过审核,然后接受这个Pull Request

   接受这个PullRequest之后,大功告成!

  

   可以看到,我们已经成功的把branch2分支给合并到了master分支里。

   如果branch2分支比master分支要老的话,在Pull request审核那里,Git不能自动合并,需要我们来进行手动合并,我在这里就不演示了。

七、对别人的仓库进行修改

  如果,我想和别人合作协同开发一个软件,即对别人的仓库进行修改并提交,该怎么办呢?

  我们当然不可能直接对别人的仓库进行修改(SSH公钥不匹配),所以需要用fork功能先把别人的仓库给克隆到自己账号名下。

  打开别人发给你的仓库地址,点击右上角的fork,在你的账号下创建一个这个仓库的克隆:

  

 

  接着,在我们自己的账号里打开fork下来的仓库,点击克隆/下载,拿到http/ssh链接  

   然后,我们在本地的Git bash里,输入以下命令

git clone 仓库对应地址

  接着这个仓库里的内容就会被下载到本地

      

  接着进入该项目文件夹,开始我们的修改,并把它push回Gitee(默认远程服务器分支名字为origin,可用git remote -v查看):

  

 

  

 

  最后,我们通过Pull request,把我们账号下的更改推送到原仓库,就可以静静等待原仓库的主人接受Pull Request咯!

  

   

 

  以上就是Git的基本食用指南咯,赶快把这个好用的工具,运用到你们的大作业/雏燕计划项目中吧!

  

 

   

 

 

 

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM