Git初次使用与心得

跨考进科软,通过孟宁老师的高级软件工程第一次了解到git这个分布式版本控制系统,并在老师的课堂讲授和课下的实际操作中慢慢熟悉使用git,下面这篇博文将简单介绍下git的几种使用场景。

参考文献来自于孟宁老师的博文:https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg

在使用git之前,我们选择使用vscode工具,首次下载vscode后发现vscode里并没有自动安装好git,这时我们只好到官网下载git并安装,还需要通过命令行配置用户名和邮箱,方便后续场景的演练

做好以下准备工作后,我们就可以正式开始接下来的场景演练了。

 

场景一:Git本地版本库的基本用法

首先打开vscode,在D盘新建一个文件夹GitGaoruan作为我们的工作目录

然后我们点击crtl+shift+G,点击初始化存储库,初始化一个本地版本库

 这时我们可以在文件夹中看到出现了.git文件,其实第一次使用时并没有出现隐藏的.git文件夹,点击了显示隐藏的项目后才出现- -

我们还可以在命令行中使用 git init初始化版本库

使用git status可以查看当前工作区状态

此时我们工作目录下是空文件状态

我们新建一个readme.txt文件,在vscode中可以通过ctrl+shift+G观察到与上一个版本发生的变化,以绿色U标记表示还没有添加到版本库进行跟踪

我们点击+号或者使用git add readme.txt会发现后缀的U变为A,表示已经将read.txt变成一个将要提交的变更

我们还可以通过对应的 - 号按钮取消暂存更改,对应的命令行形式下使用git reset HEAD readme.txt, 而 git checkout -- readme.txt命令是用于撤销对文件所作的更改,即从本地版本库中恢复文件,注意二者的区别。

之后我们可以使用git commit -m "add readme"将文件从暂存区提交到仓库

我们在txt文件中添加了‘abc’,使用git status查看当前状态,此时的修改还未提交到仓库

我们还可以通过git diff readme.txt查看两次文件的差异,之后我们就可以提交到仓库了

通过git log可以查看过去的提交记录,并使用git reset --hard HEAD^回到上一个版本

我们还可以通过git reflog查看当前HEAD提交后的记录,并使用git reset --hard 版本号恢复,查看文本发现已经回复到添加过abc的那一个版本。

 

 

场景二:Git远程版本库的基本用法

我们还可以通过在gitee或者github上创建一个新的版本库,通过git clone命令将版本库克隆到本地完成本地版本库的初始化

我们可以看到在本地已经有了远程的版本库文件,即此时已经克隆成功。通过git remote可以看到git clone后默认的远程存储库名称为origin

在本地新增加123.txt文本文档后使用git add和git commit命令在本地仓库中更新,最后再使用git push命令将其同步到远端仓库

我们可以在github上查看到仓库已经和本地仓库保持一致

 

场景三:团队项目中的分叉合并

首先我们使用git checkout -b 分支名称 创建一个新的分支,并通过git branch查看分支情况,当前所在的分支会用*标注

我们可以看到当我们在本地创建了一个新的分支testbranch后系统已自动切换到分支testbranch上,我们在分支testbranch上新建一个test.txt文本文档,并编辑内容“summerafei”

通过cat test.txt可以查看我们在文档中书写的内容

我们在testbranch分支上的操作已经完成,现在我们切换到主分支main上

我们目前在主分支main上,通过查看文件夹我们并没有发现刚才在testbranch上添加的文档可以确认这一点

接下来我们就要进行分支合并操作了,我们使用git merge命令将分支testbranch合并,注意合并前我们先要切换到主分支上,有两种分支合并,我们使用的也是默认使用的快进式合并(fast-farward merge)

如果要保留testbranch分支为一段独立的分支线段,则需要使用--no-ff参数关闭"快进式合并"(fast-farward merge),合并完成后查看文件夹可以发现当前main分支已经和testbranch分支保持一致。

最后我们需要将同步后的本地仓库通过push再同步到远程仓库

可以在github上验证已经push完成。

 

场景四:Git Rebase

rebase操作可以把几次提交整合成一次提交,使得开发者的提交整洁干净,让log记录将来更容易回顾参考。注意不要通过rebase对任何已经提交到远程仓库中的commit进行修改。

我们在命令行上输入git log可以看到有三次历史提交记录

使用git  rebase -i HEAD^^,可以重新整理HEAD之前的2个commit节点

 然后将new change前面的pick修改成squash,这样的话可以将最近的两个commit整理合并,然后输入:wq退出

此时已经将后两次commit整理合并完成,通过git log可以查看

不管做了怎样的编辑操作,退出文本编辑器后,想撤销git rebase操作的话,可以执行如下命令git rebase --abort。

 

posted @ 2020-10-20 20:09  阿飞summer  阅读(213)  评论(0编辑  收藏  举报