git 简单使用(待完善)
git是一个分布式版本控制器,简单来说就是可以记录每次代码的修改和提交,方便我们查看修改记录和版本的回退
工作流程
基本概念
-
仓库
git 是一个分布式版本控制器,其单位就是仓库,每个仓库就是当前git管理的总和 -
远程仓库
远程仓库有时也称为中心仓库,所有的代码push到的地方,理论上来说,因为git是分布式的,所以我们可以把任意一个仓库作为远程仓库来使用。不过一般我们为了统一,都会统一使用一个作为中心仓库。 -
本地仓库
就是git所管理的本地项目 -
暂存区
代码提交会先提交到暂存区,当时间合适的时候才推到远程服务区,在暂存区中,我们可以查看当前文件和上次修改之间的不同。 -
分支
在主时间线上可以分出一个分支来开发我们的新代码,当全部测试完之后,我们可以将分支push到主线上并删除当前开发使用的分支。
在我的理解中,一个分支相当于一个暂存区空间,不同的分支独立拥有自己的暂存区
命令
git 相关命令较多,建议还是多用man git
或者 加--help
参数查看说明
基本命令
- 初始化空仓库:
git init
- 查看当前暂存区情况(和上次commit的不同):
git status
- 添加指定文件的修改到暂存区:
git add [file_name]
- 添加当前路径下所有文件到暂存区:
git add .
- 提交代码至暂存区:
git commit -m "[desc]"
- 查改提交记录:
git log
- 查看当前暂存区情况(和上次commit的不同):
git status
- 查看远程仓库:
git remote -v
- 查看分支:
git branch
- 切换分支:
git checkout [branch]
- 从当前分支fork出新分支:
git checkout -b [branch]
- 从远程仓库拉取:
git pull
- push master 分支的所有提交至远程(其它分支同理):
git push origin master
- 查看当前文件的改动:
git diff
常用
代码修改到一半,想回到上次提交,又不想commit。
- 暂时保存当前更改,且暂存区干净(回到上次commit):
git stash
- 从
git stash
之后恢复:git stash pop
打补丁和应用补丁
- 生成补丁(根据当前分支和master的不同):
git diff master > patch
- 应用补丁(在master分支上):
git apply patch
- 检查补丁是否干净:
git apply --check
查看指定文件详细改动历史:
git log -p [file]
查看文件提交记录:git log -- [file]
查看指定commit提交的改动:git show [commit_id]