git 使用详解

Git  使用详解

Git简介及安装:Git是目前世界上最先进的分布式版本控制系统。

Git工作流程:

Workspace:工作区

Index/Stage:暂存区

Repository:仓库区(或本地仓库)

Remote:远程仓库

 

Git一般工作流程:

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域;

3、将暂存区域的文件提交到Git仓库。

Git管理的文件有三种状态:

已修改(modified)

已暂存(staged)

已提交(committed)

 

Git安装:

git下载地址:https://git-scm.com/download

windows系统下安装和其它普通软件安装过程一样,安装完成后,进入dos命令窗口,输入命令git--version能查看到版本号及安装成功;

mac系统下下载的是dmg包,通过双击根据提示一步步安装即可,安装完成后,进入终端命令窗口,输入命令git--version能查看到版本号及安装成功。

Git初始化配置:
在操作系统上首次安装git时,因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。使用命令如下:
gitconfig--globaluser.name"用户名
"gitconfig--globaluser.email"邮箱"
 
 
版本库介绍&创建:
一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由Git进行管理,当我们对文件进行修改、删除、Git都可以对其进行跟踪,或者在将来某个时刻还可以将文件“还原”。
git创建版本库步骤:
1、创建一个空目录,如d:\git_repository
2、进入到命令窗口,切换到该目录,输入gitinit命令即创建完成。
3、使用dir查看可以看到文件夹内部多了一个.git的隐藏文件夹.git目录就叫做版本库,它负责管理.git所在目录下的其它内容进行跟踪管理版本。
 
 
版本库中文件操作:
一、版本库中增加文件:操作步骤采用实际数据举例,也可以使用其它数据操作:
1、在指定的版本库中新建一个test_01.py文件,内容为print('test01')
2、使用命令gitaddtest_01.py添加到暂存区
3、使用命令gitstatus显示工作目录和暂存区的状态,可以看到添加的文件
4、使用命令gitcommit-m“第一次提交”把文件提交到版本库,其中-m是提交时的备注信息,第一次会创建默认master分支及指向master的一个指针HEAD
 

 

二、版本库中修改文件:

1、手动修改test_01.py文件,增加一行内容为print('test02')

2、使用命令gitstatus显示工作目录和暂存区的状态,可以看到修改的文件

3、使用命令gitdifftest_01.py,比较工作目录和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容

4、使用命令gitadd*添加到暂存区

5、使用命令gitcommit-m“第二次提交--修改”把文件提交到版本库

6、该过程可通过gitlog查看历史记录信息便于验证,如果gitlog觉得显示太繁琐,可以使用gitlog–pretty=oneline查看

 

 

 三、版本库中回退版本操作:

1、手动修改test_01.py文件,增加一行内容为print('test03')

2、使用命令gitadd*添加到暂存区

3、使用命令gitcommit-m“第三次提交--修改”把文件提交到版本库

4、回退有两种操作方法:

4.1使用命令gitreset--hardHEAD^回到版本2,依次类推HEAD^^回到版本1

4.2使用命令gitreflog查看版本历史记录,然后使用命令gitreset--hard版本号回退到指定版本

 

 

 四、撤销修改操作:

1、手动修改test_01.py文件,增加一行内容为print('test04'),发现添加有误

2、撤销修改操作方式有多种:

2.1直接手动去更改文件,使用gitadd*添加到暂存区,gitcommit提交

2.2使用命令gitreset--hardHEAD^回复到上一个版本

2.3使用命令gitcheckout--test_01.py,进行撤销操作,该命令的含义是把文件在工作区做的修改全部撤销

 

 

 

 五、删除操作:

删除一般分为两种操作方式:

方式一:命令删除

1、手动新增一个test02.py文件,内容为print('test02');

2、使用gitadd*、gitcommit进行提交到版本库;

3、通过命令gitrmtest02.py进行删除操作;此操作会删除工作区的文件并同步添加到暂存区

4、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销删除,先执行命令gitresetHEADtest02.py,再执行命令gitcheckout--test02.py

方式二:手工删除

1、手动新增一个test02.py文件,内容为print('test02');

2、使用gitadd*、gitcommit进行提交到版本库;

3、在工作区手工删除test02.py文件

4、使用命令gitadd-A在版本库中同时进行删除操作

5、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销删除,可以通过命令gitcheckout--test02.py找回masterHEAD

 

六、重命名操作:

重命名文件和删除文件操作类似,也分为两种操作方式

方式一:命令重命名

1、手动新增一个test03.py文件,内容为print('test03');

2、使用gitadd*、gitcommit进行提交到版本库;

3、通过命令gitmvtest03.pytest3.py进行重命名操作,windows系统使用gitren,mac/linux使用gitmv

4、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销重命名,先执行命令gitresetHEADtest03.py,再执行命令gitcheckout--test03.py,此时不需要使用gitrm删除,因为gitreset操作已把暂存区的记录恢复到工作区,然后使用命令gitrm-r--cachedtest3.py,把暂存区的文件信息删除,最后手工删除test3.py 

 

 方式二:手工重命名

1、手动新增一个test03.py文件,内容为print('test03');

2、使用gitadd*、gitcommit进行提交到版本库;

3、在工作区手工重命名test03.py为test3.py;

4、使用命令gitadd-A在版本库中同时进行重命名操作;

5、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销重命名,可以通过命令gitcheckout--test03.py找回,然后在工作区手工删除test3.py文件

 

七、修改最后一次提交操作:

版本刚一提交(gitcommit)到仓库,发现注释写错或少提交了部分文件,此时需要修正这次提交的内容,把这样的操作称为修改最后一次提交操作。

操作如下:

1、手动新增一个test04.py文件,内容为print('test04')

2、使用gitadd*、gitcommit-m“新增test05.py代码”进行提交到版本库

3、使用命令gitcommit--amend-m"新增test04.py代码",把最后一次提交的注释进行修改,--amend选项的commit命令(即gitcommit--amend)git会“更正”最近的一次提交。

4、再次新增一个文件test05.py文件,内容为print('test05');

5、使用gitadd*命令添加到暂存区6、使用命令gitcommit--amend-m"新增test04.py\test05.py代码"把test05.py也置入最后一次提交的版本中备注:过程中可以使用gitlog查看日志 

 

分支管理:
在之前的课程中,使用git每次提交,Git都把版本串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,这个分支叫主分支,即master分支。HEAD哈希值指向的是当前提交分支的主干节点。
在实际的开发工作中,开发人员都分配不同的开发任务,每个开发任务由于功能、难度不一致,如果写完部分代码就进行提交到master分支,会导致代码异常、代码覆盖的情况,针对这种情况,git可以使用分支管理进行解决。
开发人员创建了一个属于自己的分支,其它开发人员看不到,还继续在原来的分支上正常工作,此时开发人员想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响其它开发人员工作。
所谓的分支管理,其实就是利用git,对开发人员的分支进行管理,包含分支创建、分支合并、分支删除等操作。
 
 

 

 

每日心灵寄语:凡事不要想的太复杂,手握的太紧,东西会碎,手会疼。

个人公众号二维码

 

亲,如果对我们小编满意,欢迎打赏哦!

 

                                                                                                             亲, 如有对小编的作品有任何疑问,欢迎下方留言哦!


 

   

posted @ 2021-06-18 16:25  皓空星辰  阅读(145)  评论(0编辑  收藏  举报