【Git】的基本使用
1 | # 用户信息配置 |
1 | # 初次使用 git 生成公钥 |
1 | # http://learngitbranching.js.org/ |
相对引用
- 使用
^
向上移动一个提交纪录- 切换到 bugFix 的父提交
git checkout bugFix^
- 使用
~<num>
向上移动多个提交纪录git checkout HEAD~3
- 使用
多个提交点合并
git commit -am 'fix1'
git commit -am 'fix2'
git commit -am 'fix3'
git rebase -i HEAD~3
- 进入 vim 环境,
i
编辑模式 - 将除了第一个
base
全部改为s
,Esc
shift + :
wq
保存并退出 - 然后把
commit
的提交信息只保留一个,Esc
shift + :
wq
保存并退出 - 最后再
push
就可以了
-i
: Interactive-f
: forcing
1 | # Git Workflow |
1 | git pull --rebase |
- 分支误删恢复
1 | git log -g |
git log --pretty=format
常用的选项
选项 | 说明 |
---|---|
%H | 提交对象(commit)的完整哈希字串 |
%h | 提交对象的简短哈希字串 |
%T | 树对象(tree)的完整哈希字串 |
%t | 树对象的简短哈希字串 |
%P | 父对象(parent)的完整哈希字串 |
%p | 父对象的简短哈希字串 |
%an | 作者(author)的名字 |
%ae | 作者的电子邮件地址 |
%ad | 作者修订日期(可以用 –date= 选项定制格式) |
%ar | 作者修订日期,按多久以前的方式显示 |
%cn | 提交者(committer)的名字 |
%ce | 提交者的电子邮件地址 |
%cd | 提交日期 |
%cr | 提交日期,按多久以前的方式显示 |
%s | 提交说明 |
模拟第三方共享仓库
- 新建一个仓库文件夹(storage.git)(以
.git
结尾) 本地操作 A
1
2
3
4
5
6git init --bare # 初始化一个裸仓库
git init
git add .
git commit -m ''
git remote add (local-storage) ../(storage.git)
git push (local-storage) master本地操作 B
1
2
3
4git clone (storage.git)
git add .
git remote add (local-storage) ../(storage.git)
git push (local-storage) master
- 新建一个仓库文件夹(storage.git)(以
.gitignored 忽略上传文件
1
2/node_modules
/.idea