Git使用心得
背景
1.Git简介
在开发中,Git已成为现在主流的一种代码托管技术,基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是基于Git来实现的。Git可以帮我们做到很多的事情,比如代码的版本控制,分支管理等。
2.使用经历
在本科学习的时候,小组共同完成毕设时候就是选择了git以及github作为工具,虽然那时候我们小组内并没有经过对git的深入的系统化学习,但已经感受到用git开发项目的强大之处。也希望借此作业练习,我在git的理解以及使用上能更上一层楼,不再仅仅停留在皮毛表面上。
情景一:新建一个项目
1.初次运行Git
1)在初次下载安装好git后,别迫不及待就开始手敲各种命令。我们在初次运行git之前还需配置用户信息,即配置我们的用户名以及邮箱地址
1 $ git config --global user.name "JunLin" 2 $ git config --global user.email 495336555@qq.com
运行结果,如下:

2.新建文件
1)在新建文件之前,我们还需要拥有一个本地仓库,而git的本地仓库则需要放在一个文件夹里,所以我们可以先新建一个“testFile”文件夹,并在此基础上对仓库进行初始化。
1 $ mkdir testFile //创建一个新文件夹 2 $ cd testFile //进入刚创建的文件夹 3 $ git init //进行初始化
值得注意的是,在执行完上述的代码后,会出现一个名为.git的文件,如图所示:

上述代码运行结果,如下:

值得注意的是,我们如果对当前版本(不是初始版本)不满意的话,我们还有方法来回退版本或者撤销修改,在这里我把相应命令放出,但不展示命令运行结果了:
1 $ git log --pretty=online //查看提交历史 2 $ git reset --hard <commit-id> //回退并修改工作区文件 3 $ git restore <file> //从暂存区恢复工作区 4 $ git restore --staged <file> //从本地仓库恢复暂存区
2)在初始化仓库完成后,我们可以在本地仓库创建文件了。在本次练习中,我以创建一个x.cpp文件为例
1 $ touch linProgram.cpp //创建一个名字为"linProgram"的cpp文件 2 $ ls //查看当前路径下的文件名
上述代码运行结果,如下:

3)将刚才新建好的文件添加到暂存区,为了后续上传到仓库进行准备操作
1 $ git add linProgram.cpp
4)将刚上传到暂存区的文件再上传到仓库中
1 $ git commit -m 'first version' //first version 是备注信息
上述 3),4)代码运行结果,如下:

情景二:为某个开源项目贡献自己的一份力
在github上有成千上万个优秀的项目,其中绝大部分优秀的项目固然首先根植于项目的初代开发者,但它能茁壮的成长也离不开广大用户的维护,所以我们在github上遇见了优秀项目,不妨可以贡献一点微薄的力量来使它更加健壮。
1.把优秀的项目clone到本地
1 $ git clone https://github.com/icandoitbetter/cnm.git sharePro //其中sharePro是我们给它的命名
上述代码运行结果,如下:

此时本地目录已有了sharePro这个文件夹,且里面文件以及从远程仓库clone下来了


2.将修改后的文件更新到远程仓库中
在本次练习中,因为关注的是如何把项目push到原仓库中,所以我们假设已经对sharePro内容进行了修改,在此就不罗列出来了。
1 $ git push sharePro
上述代码运行结果,如下:

情景三:在git上对团队项目进行操作
小组内共同开发一个项目时,我们往往会需要对该项目的不同功能进行分工,要完成这样的功能我们可以通过创建分支来实现。
1.新建一个分支并在新分支上进行操作
1)新建一个分支 test_branch
1 $ git branch test_branch //建立一个叫test_branch的分支 2 $ git branch //查看分支是否已经建立
2)为了后续在新分支进行工作,我们需要切换到新分支
1 $ git checkout test_branch
3)分支test_branch上上传修改好的文件
1 $ git add 10_19.txt
上述 1),2),3)代码运行结果,如下:

2.在新分支上的操作结束,回到master
1)回到master并把新分支进行合并
1 $ git checkout master 2 $ git merge test_branch
2)删除test_branch分支
1 $ git branch -d test_branch
3)把上述添加的10_19.txt文件移除,一定要把该文件在本地库的记录删除,不让git继续跟踪
1 $ rm 10_19.txt 2 $ git rm 10_19.txt
上述 1),2),3)代码运行结果,如下:



值得注意的是,我们在合并分支的时候有可能会出现冲突,例如,在master提交的某文件是xx版本,而在test_branch分支提交的文件却是yy版本,而这时我们则需要打开该文件,将错误信息覆盖后,并进行再次提交,再次提交后,我们可以使用以下命令来查看分支合并情况:
1 $ git log --graph --pretty=online -- abbrev-commit
情景四:使用远程仓库
远程仓库使用场景以以github为例子
1)先在github上建一个Repository
建好后如下图所示:

2)把刚建好的Repository作为远程仓库添加进来
1 $ git remote add test https://github.com/junlinLong0814/junlinStudy.git
3)把当前分支上的内容上传到远程仓库
1 $ git push -u test master
4)再从仓库拉取本地没有的东西
1 $ git fetch test
5)在使用完远端仓库后,把它移除
1 $ git remote remove test
上述代码运行结果,如下:




结语
跟着文档中的几大场景逐行敲命令,经过练习后,虽然对命令还不是很熟悉,但以领略到git的魅力,也希望通过今后的学习,逐渐提升自身能力,使git成为一个称手的开发工具。
浙公网安备 33010602011771号