[6.13]Git 学习笔记

写在前面:在工程实践中,因为涉及多个部门之间的协同工作,笔者不得不改掉之前的开发习惯,用git进行相应的上库操作。在此期间踩坑无数,现将近段时间的学习心得整理,希望能对git初学者起到帮助。文中内容有不妥之处,还望交流指正

目录

了解Git

        一、初识Git

                1)什么是git

                2)如何配置git

                3)生成你的SSH Key

        二、使用Git完成一次文件的下载与上传

                1)了解修改流程

                2)了解git语句


了解Git

        一、初识Git

                1)什么是git

                git是一种分布式版本控制系统,用于开发人员对版本的修改和维护,相较于对文件的直接修改——另存为/保存的操作,git有其优越性:保存各个版本的快照,且有相应的代码可以进行维护,方便开发人员了解各个版本的修改内容及其特性

                与分布式版本控制系统相对的,是集中式版本控制系统,在此通过两个文本文档间内容对比的例子来简述其异同,如下:

Hello World
Hello Wuhan

                在上述两个代码中,此次的修改点其实是World --> Wuhan ,相较于论文的修改采用批注的方式,git中有指令能帮我们很好的分析修改的具体位置:git diff

                

                执行后在git的窗口,会以上图的形式显示,其中---表示删除的内容,+++表示增加的内容,在工程文件中,相应的指令能帮我们很快定位到修改的地方,使我们的维护和更新更加稳定

                如上图,我们能获得修改前修改后的内容差异,而集中式版本控制系统则做不到这一点,集中式版本控制系统保存的仅是每个版本的修改点,这导致了若中途的版本出现问题,可能会导致最终的版本与我们想实现的功能相差甚远,甚至会有意料之外的报错。这是我们不希望看到的,所以多数情况下还是推荐使用git这种分布式版本控制系统

                2)如何配置git

                配置git可以在官网进行下载:Git - 安装 Git (git-scm.com)

                CSDN上也有很多相关内容的博客,可以根据自己的实际需求,选择相应的版本进行下载,此处不多赘述

                下载完后可进行如下配置:

                初始的两行代码git config起到的作用是标识当前的使用用户,这在之后的提交中尤为重要,方便组内其它人员了解何人在何时提交了新的版本,便于维护时的溯源

                语法参考:git config --global user.name "你的用户名"

                                  git config --global user,email "你的邮箱"

                第三行代码的作用是将文本换行符CRLF -> LF 的一个转换

                第四行代码的作用是识别中文路径,将上述理解为初始环境配置即可

                3)生成你的SSH Key

                GitHub的提交中,有http协议和SSH两种,其中SSH稳定性更强,所以在拉代码的过程中多采用SSH协议,使用协议前需生成自己的公钥,在文本框中输入下列内容即可生成自己的公钥:

                即 ssh-keygen -t rsa -C 你的邮箱

                回车后输入yes然后一直回车即可,观察图片的倒数第二行可以看见给了我们生成的公钥文件路径,我们可以采用cat命令查看该文件的内容:

                参考语法:cat 上方路径

                ssh开头到邮箱结尾的这部分内容即是生成的公钥

                4)公钥添加

                由于笔者使用的是github,此处展示github上的公钥添加,其它平台上应该也是一致的

                在github右上角点击头像会出现settings选项,点击settings进入设置页面

                在设置页面左侧有SSH Key选项,点击后将刚刚获得的公钥粘贴进去后提交即可,title可采取项目名_用户名的形式命名,点击提交                这样我们的公钥就与GitHub仓库绑定了

                随后在个人界面,创造自己的个人仓库

                进入仓库页面

                        

                此处的链接即是我们克隆项目时可使用的链接,方便我们与远端进行交互,将我们的代码提交到平台上

        二、使用Git完成一次文件的下载与上传

                1)了解修改流程

                pullpush是我们在工程中常用的做法,在第一次使用项目仓库的时候,我们会采取克隆的指令将仓库的代码拉到本地进行修改,这个过程涉及了两个部分的内容:对git语法的理解和对修改流程的熟悉

                笔者最初使用git拉取代码时,重复了数十次才对完整的流程有了较浅的认知,在我看来,完整流程可分为如下几部分:

                1.将代码克隆到本地仓库 ——获取源文件,在本地进行修改和查看

                2.在本地仓库新建个人分支——与主干分支错开,避免直接修改主干分支导致的未知的错误,提交时也会在个人分支进行提交

                3.对文件进行修改 ——包括但不限于增加文件/文件夹,删除文件/文件夹/文件内容,修改文件/文件夹/文件内容

                4.对修改内容进行检视 ——检查修改的文件内容,避免因为打错字符导致的版本故障

                5.将修改内容添加到暂存区

                6.将修改内容提交——附带message 标明修改后的版本特性

                7.检查提交的日志文件

                8.将修改内容推送远端

                修改工作进行的区域我们称之为工作区,将修改内容保存后Git会将文件放置到暂存区,此时还可进行撤销的操作,确认无误后可提交至本地仓库,才算是完成了修改

                在这之后我们将本地的修改内容推送远端,实现在Github上的更新

                2)了解git语句

                我始终是相信实操胜过一切理论,所以在此处进行一次完整的下载上传操作,方便直观的了解具体的操作流程

                1.git init 

                git init进行的是初始化操作,用于在本地生成一个git仓库.git目录(隐藏文件,不要去修改其中内容),具体使用可如下:

                此处解释几行语句的具体作用:

                -cd   path/                   引导git进入具体的路径下

                -ls                                查看当前路径下的所有文件

                -git init                        初始化Git仓库

                可以看出,执行了前三行语句后,第四行ls时,我们新增了文件夹MyProject,这就是我们git本地仓库

                2.git clone

                我们可以cd 进该仓库并clone我们github平台上的链接,来进行修改维护工作

                第二行语句就是我们的clone语句,具体语法如下:

                -git clone 链接

                clone中会要求输入yes,然后一直回车即可

                clone完后ls,发现本地仓库已经有了远端的文件夹First-Object了,cd进文件夹

                3.git checkout -b

                git checkout -b Git中起到的作用是新建分支并且切换自动切换到新生成的分支上去,语法如下:

                -git checkout -b 新建的分支名 新建分支后,后续的修改在分支上进行即可

                4.git status 、git diff

                因为clone的是空仓库,所以需要新建文件,此处使用touch命令:

                其中touch起到的是新建文件的作用,类似的命令还有mkdir,用于新建文件夹

                第二行的vim是修改文件内容的命令,回车后会进入修改页面,按键盘上i键即可修改内容,修改后按ESC退出修改并输入此处双引号中内容 ":wq"即可保存修改并回退到git命令界面

                修改后我们可以输入git status命令查看修改的具体文件,如下图:

                此处回显提示我们修改的文件是a.txt,且文件未被跟踪,可以把修改后的文件add进暂存区

                git diff相较于git status,提供的是查看修改文件的内容的功能,在后文会附图

                5.git add、git commit

                git add 可以将修改后的文件添加到暂存区,方便之后的提交

                具体语法如下:

                -git add path/文件名 

                git commit的作用则是将暂存区的内容上传到本地仓库,如下图:

                具体语法如下:

                -git commit path/文件名 -m "新版本的特性内容"    其中-m意味着携带message,即在提交时附带上后方双引号中的内容,执行完git commit,文件才相当于在本地完成了修改

                5.git log

                git log 提供的是查看日志的功能,根据git log 我们能看到在分支上的近几次提交及其内容,如下图:

                其中会生成特定的commit_id,方便之后版本维护时的溯源,观察上图中的信息会发现,包含了提交者及其邮箱提交时间还有最后的message——”Say Hello to the World“,这也是通过git管理版本的优越之处,通过查看日志可以了解不同提交者更新的版本特性,方便进行维护修改

                6.git push

                git push 提供的是推送远端的功能,通过git push 我们能将本地分支上的修改同步至服务器,从而实现同步的更新,如下图:

                

                观察上图可发现,push完后GitHub仓库中多了a.txt文件和我们的标识信息

                git push 的具体语法如下:

               -git push origin 远端分支名

                可将远端分支名本地分支名设置一致,这样之后进行pull操作时也会较为方便

                push完后为了展示git diff效果,对本地的a.txt文件进行了修改,修改后git diff如下图所示:

                红字是删除部分,绿字是增加的部分,通过观察diff方便我们了解具体的修改内容,从而确定是否将这笔修改进行提交

                知晓上述内容后,实现基本的拉代码——修改——上传远端的操作,应该是没有问题了。除开上述语法外还有git checkout 、git pull等语法暂未介绍,本文只作Git基础概念和语法介绍,其它的语法将会在之后的更新中补上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值