Git初次使用心得体会

本文参考文献:https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg

在上了孟宁老师的课之后,让我这个小白对于git有了一个初步的理解,既然要走编程这条路,那么通力合作是必不可少的,git作为一个强有力的版本控制系统,而且是目前世界上最先进的分布式版本控制系统(没有之一),让我们没有任何理由不选择它。

背景:搜索https://code.visualstudio.com/,安装vscode,通常安装VS Code时已经附带安装了Git,建议Windows用户通过安装VS Code完成Git软件包的安装。

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

在VS Code中打开源代码管理器,点击open Folder,新建一个名为gitlearn的空文件夹。

打开源代码管理器,点击Initialize Repository,初始化一个Git本地版本库

或者可以通过在终端键入命令行的方式,键入git init,同样可以完成初始化一个本地版本仓库的操作

点击explorer(Ctrl+Shift+E),点击New File,创建一个名为test的txt文本文件,键入内容This is a Git test。此时该文件的状态为(绿色)U,绿色标记”U”表示该文件未添加到版本库进行跟踪(Untracked files)

git add test.txt//将test文本文件添加到暂存区(index)下,此时test文本文件的状态为绿色A,表示该文件是已添加状态(Added)

git commit -m"wrote a commit log info"//将test文本文件提交到仓库(repository)下,-m后面输入的是本次提交的说明,
                        可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git log//查看当前HEAD之前的提交记录,便于回到过去

现在,修改test.txt文件如下:

 

然后把修改提交到Git版本库

 

git reset —-hard HEAD^^/HEAD~100/commit-id/commit-id的头几个字符 //版本回退操作

git reflog // 可以查看当前HEAD之后的提交记录,便于回到未来

查看reflog,找到想要版本的commit id,在终端键入git reset --hard commit id/commit id的头几个字符,就能指定到未来的某个版本

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

通过git clone命令,从github中将版本库克隆到本地完成本地版本库的初始化。git clone命令的用法如下:

 可以看到本地D盘下已存在一个GitTest文件夹

直接输入git remote可以看到git clone之后默认的远程存储库名称为orgin。

 

使用git remote -v 可以查看更详细的远程存储库信息,包括fetch(抓取)的远程存储库URL和push(推送)的远程存储库URL。

 

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

用如下的命令创建mybranch分支

 再转回master分支看看,发现没有匹配的分支

 通过git branch查看有哪些分支,发现是这里是名为main的分支,且当前分支是mybranch分支(前面标有*)

实现分支的转换

切换回mybranch分支,在该分支上完成一些操作,这里我创建了一个branchtest的文本文件,键入Welcome to use git!在终端实现以下命

 最后,先切换回main分支,将远程origin同步最新到本地存储库,再合并mybranch到master分支,推送到远程origin/master之后即完成了一项开发工作。代码如下:

 

 

场景四:Git Rebase

一般我们在软件开发的流程中,有一个朴素的版本管理哲学:开发者的提交要尽量干净、简单。开发者要把自己的代码修改按照功能拆分成一个个相对独立的提交,一个提交对应一个功能点,而且要在对应的 commit log message 里面描述清楚。因此在合并和 push 之前检查修改一下 commit 记录时常需要。

先用git log命令看一下提交分支

 发现提交历史比较乱,那怎么可以让它成为一条干净的直线呢,这里就用到了git rebase命令,之后会打开命令行文本编辑器大致如下:如下代码演示:

 该文本编辑器的用法与Vim大致相同(应该就是内置了一个vi文本编辑器),按i键进入插入编辑模式,可以删除某个版本,也可以修改提交日志消息;按ESC键退出编辑模式回到一般命令模式(Normal Mode),这时按:键进入底线命令模式,输入:wq保存退出、输入:q退出、输入:q!强制退出。这里删除第二行即pick 0c853f6 add welcome并保存退出,可以看到如下提示:

如果想撤回rebase,就用git rebase --abort命令:

这时用VS Code打开冲突文件大致如下:

可以根据提示选择保留哪个更改,也可以直接编辑文件去掉提示信息。

解决冲突后需要将修改后的文件存入暂存区(git add),最后执行如下命令完成git rebase:

这时查看提交日志可以发现0c853f6版本已经不存在了。

posted @ 2020-10-20 22:55  木子立口儿  阅读(175)  评论(0)    收藏  举报