git版本控制笔记详解
之前只简单的用过git,从网上学习过一些基本用法,但是还没有深入的学习过它,这样就导致我在一段时间后重新使用时遇到很多问题,所以在这里总结一下
1 版本控制的历史
1.1 集中式版本控制(CVCS)
CVS和SVN都属于集中式版本控制系统
主要特点是单一的集中管理的服务器,保存所有文件的修订版本;协同开发人员通过客户端连接到这台服务器,取出最新的文件或者提交更新
缺点:中央服务器不能出现故障
1.2 分布式版本控制(DVCS)
Git属于分布式版本控制系统
2 Bash,CMD,GUI的区别
2.1 Bash
bash就是一个shell,是Windows下的命令行工具,可以执行Linux命令。基于CMD,在CMD的基础上增添一些新的命令与功能
2.2 CMD
CMD是Windows操作系统上的命令行解释程序
2.3 GUI
提供一个图形用户界面来运行git命令
3 Git的基本使用
3.1 Git的配置选项
1 2 3 4 5 6 7
| git config --global user.name "jiucheng120" git config --global user.email "sjx18536228249@163.com"
git config user.name git config user.email
|
3.2 Git的别名
1 2 3 4 5 6 7 8
| git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status
git st
|
3.3 获取Git仓库
1 2 3 4 5
| git init
git clone https://github.com/coderwhy/hy-react-web-music.git
|
3.4 文件的状态划分
未跟踪:默认情况下,Git仓库下的文件也没有添加到Git仓库管理中,需要通过add命令操作
已跟踪:添加到Git仓库管理的文件处于已跟踪状态,Git可以对其进行各种跟踪管理
- staged:暂缓区中的文件状态
- Unmodified:commit命令,可以将staged中文件提交到Git仓库
- Modified:修改浏览某个文件后,会处于Modified状态

3.5 检测文件的状态
1 2 3 4 5 6
| git status
git status -s git status --short
|
3.6 文件添加到暂存区
1 2 3 4 5
| git add aaa.js
git add .
|
3.7 git忽略文件
.gitignore文件中可以写git中忽略的文件
3.8 文件更新提交
1 2 3
| git commit -m "提交信息"
git commit -a -m "修改了bbb文件"
|
3.9 查看提交的历史
1 2 3
| git log git log --pretty=oneline git log --pretty=oneline --graph
|
3.10 版本回退
1 2 3 4 5 6 7 8
| git reset --hard HEAD^
git reset --hard HEAD~1000
git reset --hard 2d44982
|
4 远程服务器
4.1 管理远程服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git remote
git remote -v
git remote add <shortname> <url> git remote add gitlab http://152.136.185.210:7888/coderwhy/gitremotedemo.git
git remote rename gitlab glab
git remove gitlab
|
4.2 本地分支的上游分支
在没有跟踪的情况下,我们直接执行pull操作的时候必须指定从哪一个远程仓库中获取内容
1 2 3 4 5 6
| git pull origin master
git branch --set-0upstream-to=origin/master git pull
|
4.3 拒绝合并不相干的分支
1 2
| git merge --allow-unrelated-histories
|
4.4 远程仓库的交互
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git clone 地址
git push git push origin master
git fetch git fetch origin
git merge
git pull
|
4.5 Git标签
1、创建tag
1 2 3 4 5 6 7
| git tag v1.0
git tag -a v1.1 -m "附注标签"
git push origin v1.0
|
2、删除和检出tag
1 2 3 4 5 6 7 8
| git tag -d v1.1
git push origin --delete v1.1
git checkout v1.0
|
4.6 分支
1、创建分支
1 2 3 4 5 6 7 8
| git branch testing
git checkout testing
git checkout -b testing
|
2、查看分支
1 2 3 4 5 6 7 8
| git branch
git branch -v
git branch --merged
git branch --no-merged
|
3、删除分支
1 2 3 4
| git branch -d hotfix
git branch -D hotfix
|
4、远程分支的管理
1 2 3 4 5 6 7
| git push origin <branch>
git checkout --track <remote>/<branch> git checkout <branch>
git push origin --delete <branch>
|
5 Git常见命令速查表
