Git使用体验
Git是一个强大的分布式版本控制系统,适用于管理软件开发过程中的代码和文档。本文介绍了Git中4个场景下使用的主要的操作命令。本文主要参考了孟宁老师的文章https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg 。Git的基本操作如下图所示。

- workspace:工作区,在电脑中能看到的目录。
- Index:暂存区,一般存放在.git目录下的index文件中。
- Repository:版本库,工作区有一个隐藏的.git目录,是Git的版本库。
- Remote:远程仓库,如GitHub,Gitee等。
一. 场景一:Git 本地版本库的基本用法
1.初始化版本库:git init,该目录下有一个隐藏的.git目录,是一个空仓库。
![]()
2.查看当前工作区的状态:git status。

3.添加文件到暂存区:git add [FILES]。

4.提交暂存区中的文件到版本库:git commit -m "wrote a commit log infro"。

5.查看当前HEAD之前的提交记录:git log。

6.将工作区的文件回退到前面的版本:git reset --hard HEAD^/HEAD~100/commit-id/commit-id的头几个字符。
![]()
7.查看当前HEAD之后的提交记录:git reflog。

8.回退到想要回退的版本: git reset --hard commit-id/commit-id的头几个字符。
![]()
二.场景二:Git 远程版本库的基本用法
1.将远端版本库克隆到本地完成本地版本库的初始化:git clone。
![]()
2.将本地存储库的相关数据对象更新到远程存储库 :git push。


3.下载一个远程存储库数据对象等信息到本地存储库:git fetch。

4.从远程存储库或分支抓取并合并到当前存储库的当前分支:git pull。

三.场景三:团队项目中的分叉合并
1.克隆或同步最新的代码到本地存储库:git clone,git pull。
2.为自己的工作创建一个分支,该分支应该只负责单一功能模块或代码模块的版本控制:git checkout- b [branch],git branch。

3.在该分支上完成某单一功能模块或代码模块的开发工作:git add [FILES],git commit -m "wrote a commit log infro"。
4.切换回master分支,将远程origin/master同步最新到本地存储库,再合并dev到master分支,推送到远程origin/master之后即完成了一项开发工作:git checkout master,git pull origin master,git merge --no-ff dev,git push origin。

四.场景四:Git Rebase
在dev分支上完成自己的工作之后,为了让 log 记录将来更容易回顾参考,用 git rebase 重新整理一下提交记录。注意不要通过rebase对任何已经提交到远程仓库中的commit进行修改。
弹出交互式的界面让用户编辑完成合并操作,重新整理HEAD之前的三个commit节点:git rebase i HEAD^^^。

删除第四行:
![]()
最近提交的版本被删除:

.

浙公网安备 33010602011771号