git 初学笔记
常见混淆
git
版本管理工具
GitHub
最大的代码托管平台
开源
收费
GitLab
开源软件,可以搭建自己的代码管理平台
工作原理
1 | 工作目录 -> `git add .` -> 暂存区 -> `git commit -m '' ` -> 版本仓库(本地仓库) -> `git push` -> 远程仓库 |
常见命令
远程仓库
git init
初始化版本库
git clone <项目地址>
克隆一个项目
git pull origin master
pull
git add <文件>
添加到提交清单
git status
查看文件状态
git commit -m "提交原因"
提交
git push origin master
push
git status
查看当前状态
git commit -am ''
不经过缓存区直接提交(工作目录 -> 版本仓库)
代码冲突时
git push origin master -f
舍弃线上版本
git push origin master
保留线上版本
版本控制
git log
版本信息
命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是
append GPL
,上一次是add distributed
,最早的一次是wrote a readme file
。
git log --pretty=oneline
功能同上,就是简洁一点
回退版本
在git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
git reset --hard HEAD^
回退上一个版本
也可以git reset --hard <版本号>
版本号没必要写全,前几位就可以了,git 会自动去找。当然也不能只写前一两位,因为 git 可能会找到多个版本号,就无法确定是哪一个了。
git reflog
记录每一次命令
分支
git branch
查看所有分支
git branch dev
创建
dev
分支
git checkout dev
切换到
dev
分支
git checkout -b dev
创建并切换到
dev
分支,相当于以上两条命令
git branch -d dev
删除
dev
分支
git merge dev
把
dev
分支的工作成果合并到master
分支上