Git是一种分布式版本控制系统。Git的数据不止保存在服务器上,同时也完整的保存在本地计算机上,这种特性带来许多便利,比如你可以在完全离线的情况下使用Git,随时随地提交项目更新,而且你不必为单点故障过分担心,即使服务器宕机或数据损毁,也可以用任何一个节点上的数据恢复项目,因为每一个开发节点都保存着完整的项目文件镜像。
分区情况:
- workspace:本地工作区
- staging area:本地仓库暂存区/缓存区
- local repository:或本地仓库
- remote repository:远程仓库
一、本地仓库使用
1、git init
使用该命令初始化git本地仓库
完成后会多出一个隐藏文件.git,这个目录存放的是本地库相关的文件。
2、git status
查看当前工作区状态
3、touch 或 vim创建文件
4、git add filename
将修改过的文件添加到暂存区
5、git commit -m "描述信息"
将暂存区的文件提交到本地仓库
6、git log
查看日志,版本信息。
7、git reset
- git reset –mixed
不回改变工作区,但是会用指定的commit覆盖暂存区,之前所有暂存的内容都变为未暂存的状态 - git reset –soft
不会改变暂存区,仅仅将commit回退到了指定的提交 - git reset –hard
使用指定的commit的内容覆盖暂存区和工作区。 - git revert
撤销某次操作,此次操作之前和之后的 commit 和 history 都会保留,并且把这次撤销作为一次最新的提交
二、远程仓库使用
1、git clone
从远处仓库拷贝文件
2、git remote -v
可以查看远程仓库的链接地址
3、创建并提交文件
4、git push
将本地仓库的相关数据对象推送到远程仓库
5、git pull
在远程仓库上删除文件bbb.txt,然后将远程仓库的更改同步到本地仓库
三、分支合并
1、git branch
查看所有分支,有“*”表示当前分支
2、git checkout -b branchname
创建新分支
3、git branch --set-upstream-to=origin/main main
将本地main分支与远处分支建立联系
4、git merge
合并分支
四、git rebase
场景四实际就是在场景三团队项目工作流程中增加一步Git Rebase,即在mybranch分支上完成自己的工作之后,为了让 log 记录将来更容易回顾参考,用 git rebase 重新整理一下提交记录。注意不要通过rebase对任何已经提交到远程仓库中的commit进行修改。
git rebase命令格式大致如下:
键入命令git rebase -i head^^^(^的个数代表前几条记录)
五、总结
至此,我们由简单到复杂、从实际操作到背后的基本原理,并通过命令行的方式给出了实际操作的步骤,在四大场景下给出了Git的参考用法。
通过老师的讲解,我们知道了如何初始化本地库,进行本地库的基本操作;如何创建远程库,远程库和本地库是如何交互的。
Git仓库管理的各种实现细节是非常重要的,在操作工程中我也遇到了许多的问题和BUG,但是一系列操作让我受益良多,希望大家共同学习,掌握Git这一得力工具!