Git使用心得体会
Git是一个非常有用的分布式版本控制工具,是程序员一项必备的技能。
本篇博文参考了孟宁老师的文章https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg
我们先来看看Git的工作原理,Git将存储库分为三个部分,一个是远程存储库,一个是本地存储库,以及一个workspace。
本地存储库中有多个分支,其中至少有一个叫master的分支,workspace的展示的是本地存储库中的某一个分支的源代码。
我们通常在workspace中修改文件,然后通过add和commit命令提交到本地存储库并进行版本的管理。

在实际的项目开发中,一个项目由多个团队分工合作,多人团队的工作时间线常常是并行的,
团队中的每个人都会对向远端版本库push,就会发生分叉现象。

git使用了增量补丁的技术方法,即一个文件按行对比形成一个增量补丁,然后将整个项目的增量补丁合并起来,
形成一个项目的增量补丁,这就是一个提交记录(commit),这些提交记录按时间线依次排列形成一个branch。
如下图所示,将分叉上的增量补丁合并到当前工作区G中,解决冲突后就可以形成版本H。

我们使用VSCode进行四个场景的演练,首先从Git官网下载并安装Git工具,
安装完成后要在VScode 文件>首选项>设置里面搜索git.path;
然后修改git.path为我们安装Git的地址,这样将Git集成到VSCode上了。

我们打开Git使用git config user.name ***和git config user email ***创建一个账户。

在VSCode中使用Ctrl + O打开一个文件夹,这个文件夹就是项目工作区(workspace),用于储存当前项目文件夹里面的整套源代码。
1.本地版本库中的基本操作
使用Ctrl + Shift + G打开源代码管理工具,用git init命令初始化一个本地版本库,使用git status查看本地版本库当前workspace的状态。
使用git add FILES即可将更改列表中的文件添加到暂存区,使用git reset HEAD FILES将暂存区的文件放回更改区,
而git checkout -- FILES命令是用于撤销对文件所作的更改,即从本地版本库中恢复文件。

打开源代码管理使用Ctrl + Enter或者使用git commit -m命令就可以将暂存区的更改提交到本地版本库中,形成一次提交记录。
git log命令可以查看过去的提交记录,使用git reset --hard HEAD^可以回到上一个版本。

![]()
git reflog可以查看当前HEAD之后的提交记录,当前HEAD之后的提交记录中有commit-id,
然后使用git reset --hard commit-id可以转到任意一个版本,比如下图中commit log-2的commit-id是8107a6e,
我们使用git reset --hard 8107a6e就可以转到commit log-2这个版本。


2.远端版本库的基本操作
在命令环境中对远端版本库的操作主要有两个,一个是git pull,从远端版本库origin/master拉取提交项到本地master,
另一个是git push,将本地的提交项推送到远程仓库的origin/master,
合理的运用这两条命令就可以完成本地版本库和远端版本库的同步。
如图所示,在控制台输入git push --set-upstream https://github.com/coderACRush/gitUser命令就可以将本地版本库的提交项推送到远端版本库。

如下图所示,在控制台输入git pull https://github.com/coderACRush/gitUser命令就可以将远端版本库的内容拉取到本地版本库。



如上如所示,使用git push和git pull命令完成了本地版本库的master分支和远端版本库origin/master分支的同步。
3.团队项目中的分叉合并
使用git checkout -b mybranch命令创建一个新的分支,使用git checkout master可以签出到master分支,使用git branch可以查看所有分支。

在mybanch分支上完成单一模块的更改操作后,将更改后的文件添加到暂存区,然后提交到mybranch,进行多次这样的操作。
使用git checkout branch切换到master,使用git merge --no-ff mybranch将mybranch合并到master上,同时保留mybranch,
然后使用git push https://github.com/coderACRush/gitUser推送到远端版本库。


4.Git Rebase命令
在控制台输入git rebase -i HEAD^^^命令可以显示最近的版本提交记录,如下图所示。

这里的操作类似一个文本编辑器,按 i 进入插入编辑模式,
在这个模式中可以删除某个版本,我们在文本编辑器中把commit log-2删除后,
按 : 进入底部命令模式,输入:wq保存退出。这样,版本commit log-2就被删除了。
然后我们查看当前分支的提交记录,就发现找不到commit log-2的记录信息了。

退出文本编辑器后,如果想放弃删除操作,可以使用git rebase --abort命令。
Git使用小结
通过以上四个场景中Git命令的使用,基本掌握了Git的原理和使用方法,深刻体会到了Git在版本管理中的强大之处,对规范软件开发流程大有裨益!

浙公网安备 33010602011771号