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 分支上