[关闭]
@EncyKe 2017-02-17T07:03:38.000000Z 字数 3666 阅读 2235

手册:Git / GitHub

#手册 工具



1. 简介


2. Git 安装

2.1. Linux 安装

2.2. macOS 安装

2.3. Windows 安装

  1. git config --global user.name "Your Name"
  2. git config --global user.email "email@example.com"

3. GitHub 基础

3.1. Respository

3.2. Commit

3.3. 版本号

3.4. Branch

3.5. Fork

3.6. Issues

3.7. GitHub Pages

3.8. 秘密技巧


4. Git 命令行基础

4.1. 常用命令

命令 操作
git <command> --help 查看帮助,命令选项可省略;
git init 初始化 repo,生成 ./.git/ 相关配置;
git add <file> 添加指定文件进入暂存区;
git commit -m '<commit msg>' 将暂存区中的改动连同说明添加进入版本控制;
git status 查看本地 repo 的改动状态;
git diff <file> 查看指定文件与 repo 的差别;git diff HEAD -- <file>
git reset --hard HEAD^ 回退到上一个版本;HEAD 表当前版本,HEAD^ 表上一个版本,一次类推;HEAD 指向当前分支,亦可替换为指定 commit ID
git log 查看提交日志;
git log --pretty=oneline 以简单模式查看提交日志;
git log --graph 以图表模式查看提交日志;
git log --abbrev-commit 以省略 commit ID 模式查看提交日志;
git reflog 查看命令历史;
git checkout -- <file> 清空工作区指定文件的改动;
git reset HEAD <file> 将已提交到暂存区的改动撤销回工作区;
git rm <file> 删除指定文件;
git branch <branch> 创建新分支;
git checkout <branch> 切换到指定分支;
git checkout -b <branch> 创建并切换到新分支;
git merge <branch> 将当前分支合并到指定分支;默认 Fast forward 模式;
git branch -d <branch> 删除指定分支;
git branch -D <branch> 强行删除指定的没有被合并过的分支;
git merge --no-ff -m '<commit msg>' <branch> 将当前分支合并到指定分支;不使用 Fast forward 模式,将增加一个新的 commit 以示合并;
git stash 存储当前分支的改动,以便切换到其它分支上工作;执行后将清空工作区;
git stash list 列出所有存储;
git stash pop 恢复并删除存储;
git stash apply stash@{<index>} 恢复指定存储;
git stash drop 删除存储;
git remote -v 查看详细的远程 repo (默认名为 origin) 信息;
git push orgin <branch> 将本地分支推送到指定的远程分支上;
git clone <link> 克隆远程 repo;
git checkout -b <branch> origin/<branch> 创建远程 origin 分支到本地;
git tag 查看所有标签,按字母顺序列出;
git tag <tagname> <commit ID> 对指定 ID 的 commit 创建自定义标签;
git show <tagname> 查看指定标签信息;
git tag -a <tagname> -m '<commit msg>' <commit ID> 创建带有说明信息的标签;
git tag -d <tagname> 删除指定标签;
git push origin <tagname> 推送指定标签到远程 repo;
git push origin --tags 一次性推送全部尚未推送到远程 repo 的本地标签;
git push origin :refs/tags/<tagname> 从远程 repo 删除标签,需先本地删除后在执行;
git check-ignore -v <file> 查看指定文件是否在 .gitignore 忽略规则中;
git config --global alias.<command-alias> <command> 配置命令别名,配置表存储在 .git/config 中;

4.2. 多人协作模式

  1. 尝试用 git push origin <branch> 推送自己的修改;
  2. 如若推送失败,则因为远程分支比本地更新,需先用 git pull 试图合并;
  3. 如若 git pull 提示 “no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用 git branch --set-upstream <branch> origin/<branch> 建立链接关系;
  4. 如若合并有冲突,则解决冲突,并在本地提交;
  5. 没有冲突或者解决掉冲突后,再用 git push origin <branch> 推送;
  6. 工作流指南

4.3. 推荐别名配置

  1. git config --global alias.st status
  2. git config --global alias.co checkout
  3. git config --global alias.ci commit
  4. git config --global alias.br branch
  5. git config --global alias.unstage 'reset HEAD'
  6. git config --global alias.last 'log -1'
  7. git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"`

5. Git 软件基础

操作 说明
create 创建新库;
add 修改现有库;
clone 将服务器端的库下载到本地进行操作;
changes 蓝色表示被选中;
changes > commit to master 即 commit 产生版本;
history 查看所有历史版本;
history > settings > Revert... 发布后的撤销;
history > settings > Roll back... 发布后的回滚;
branches 分支操作;
merge view 拖动后单击 merge branches 即可;
publish 发布;
undo 撤销,但在发布后无法撤销;
pull request 互相讨论的过程;

附:参考

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注