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成为一个称手的开发工具。

posted @ 2020-10-19 09:47  龙俊霖🎐  阅读(179)  评论(0)    收藏  举报