git使用的心得体会
最近一次的高级软件工程课上,孟宁老师带我们入门了分布式版本控制工具git,在这里首先感谢孟宁老师的指导,这篇博客也是参考了他的文章。在这里放上链接~
参考文献:
https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg
通过课上的学习以及课后查阅相关资料,我模拟了一些git的应用场景,将自己所学的内容进行适当的应用,加深了对git相关命令以及应用场合的理解。下面进入正题,把我模拟的场景过程进行还原以此记录。
场景一:Git 本地版本库的基本用法
我使用的远程仓库是Gitee 。首先,我在自己的账号下新建了一个仓库,将下载链接复制下来,并打开vscode,打开我事先建立好的文件夹作为此次场景模拟的工作区以及本地仓库,使用命令
git clone https://gitee.com/YanShen121/scene-simulation.git
在现有目录下将远程仓库的内容导入,该命令会同时在生成的目录下创建一个名为 .git 的子目录,这个子目录包含了初始化 Git 仓库的所有必须文件,因为我在建立远程仓库的时候只是生成了README.md文件,操作后的效果如图
Gitee同时生成了中英文两个版本的README.md,并在其中自动添加了说明的模板。接下来新建一个txt文件,使用命令查看当前workspace的状态,
git status
然后将该文件添加入暂存区,
git add test.txt
现在状态如下
如果此时我们发现刚才的操作有误,想取消这次的添加,我们可以这么做
git reset HEAD test.txt
这样当前状态又回到了add命令之前,使用git status命令查看会发现,test.txt文件又在Untracked files里了。
如果我们改动文件,但是发现对此次的改动不满意,可以使用命令取消
git checkout .
我们编辑完文件后将它提交到本地仓库,
git commit -m "first"
接下来查看之前的提交记录
git log
如果要回退到之前的版本,可以用如下的一些命令
git reset --hard HEAD^^ git reset --hard commit-id ....
以上内容是模拟的场景一的全部内容。
接下来是对场景二内容的还原。
场景二:Git 远程版本库的基本用法
管理本地版本库跟踪的远程存储库的命令为git remote。
通过使用push和pull将本地仓库的内容推送到远程仓库,或者将远程仓库的内容拉取到本地。
场景三:团队项目中的分叉合并
在团队合作中,为了解决多人同时提交引发的冲突问题,我们使用分支命令来创建自己的分支进行独立的开发,
git checkout -b mybranch
然后使用命令查看当前所在的分支,
git branch
可以使用checkout命令修改当前分支,
编写完后可以将分支进行合并,
git merge --no-ff mybranch
场景四:Git Rebase
在项目开发过程中,我们为了让log记录以后更加容易参考,可以对提交记录进行修改,
git rebase -i HEAD~3
此时我们可以按i对文本进行修改,我们将third记录删除,然后按ESC再 :wq 返回,使用git log查看效果,
此时记录3已经没了。
以上则是对四种场景的模拟。