Git Reference
#dev/basic
NOTES
1.6 起步 - 初次运行 Git 前的配置
```sh
设置用户信息
$ git config –global user.name “John Doe” $ git config –global user.email johndoe@example.com
文本编辑器
$ git config –global core.editor emacs
检查配置信息
$ git config –list ```
1.7 起步 - 获取帮助
初始化项目
```sh
创建新仓库
$ git clone git@gitlab.com:maxoxo-learning/git/init.git $ cd init $ touch README.md $ git add README.md $ git commit -m “add README” $ git push -u origin master
在现有目录中初始化仓库
$ cd existing_folder $ git init $ git remote add origin git@gitlab.com:maxoxo-learning/git/init.git $ git add . $ git commit -m ‘initial commit’ $ git push -u origin master
添加到现有仓库中
$ cd existing_repo $ git remote rename origin old-origin $ git remote add origin git@gitlab.com:maxoxo-learning/git/init.git $ git push -u origin –all $ git push -u origin –tags ```
提交
```sh
添加遗忘的文件,最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。
$ git commit -m ‘initial commit’ $ git add forgotten_file $ git commit –amend
撤消对文件的修改
$ git checkout – CONTRIBUTING.md ```
远程仓库
```sh
查看远程仓库
$ git clone https://github.com/schacon/ticgit $ cd ticgit $ git remote
添加远程仓库
$ git remote add
从远程仓库中抓取与拉取
$ git fetch [remote-name]
推送到远程仓库
$ git push origin master
查看远程仓库
$ git remote show origin
远程仓库的移除
$ git remote rm paul
远程仓库的重命名
$ git remote rename pb paul ```
标签
```sh
列出所有标签
git tag
列出特定标签
git tag -l ‘1.8.*‘
创建附注标签
git tag -a v1.4 -m ‘my version 1.4’
查看标签对应的提交信息
git show v1.4
创建轻量标签,只保存标签,不带有其他信息
git tag v1.4-lw
后期打标签,为已经提交的内容打标签
git tag -a v1.2 9fceb02
将标签放入远程仓库
git push origin v1.5
推送多个标签
git push origin –tags
检出标签
git checkout -b version2 v2.0.0
为发布打标签
git tag -s v1.5 -m ‘my signed 1.5 tag’ ```
远程分支
```sh
跟踪远程分支,相当于建立一个与远程分支相关的本地分支
git checkout –track remotes/origin/branch-name
跟踪远程分支,并在本地建立相关分支
git checkout -b local-branch –track remotes/origin/remotes-branch
删除远程分支中,某个与 tag 名称相同的分支
git push origin :refs/heads/branch-name or git push origin –delete serverfix
删除远程分支中,某个与 branch 名称相同的tag
git push origin :refs/tags/branch-name
查看 remote 地址、远程分支
git remote show origin
清除已经不存在的远程分支
git remote prune origin ```
本地分枝
```sh
暂存当前的修改
git stash
获取暂存清单
git stash list
应用暂存内容
git stash apply ```
10.7 Git 内部原理 - 维护与数据恢复
```bash
查看仓库当前的位置
git log –pretty=oneline [branch name (option)]
重置仓库位置
git reset –hard [SHA-1]
查看操作记录
git reflog
查看操作详情
git log -g
创建新的分支来储存恢复
git branch recover-branch [SHA-1]
移除操作记录
rm -Rf .git/logs/
移除记录后需要重建记录
git fsck –full ```