摘录自《GitHub入门与实践》
初始设置
设置姓名和邮箱地址
git config --global user.name “name”
git config --global user.email "email@example.com"
~/.gitconfig文件中增加如下一行:
1 | [user] |
提高命令输出的可读性
git config --global color.ui auto
~/.gitconfig文件中增加如下一行:
1 | [color] |
基本操作
初始化仓库
git init
查看仓库的状态
git status
向暂存区中添加文件
git add README.md
保存仓库的历史记录
git commit
git commit -m "First commit"
在编辑器中记录提交信息的格式如下:
第一行:用一行文字简述提交的更改内容
第二行:空行
第三行以后:记录更改的原因和详细内容
查看提交日志
git log
git log --pretty=short
# 只显示第一行简述信息
git log README.md
git log -p
# 查看提交所带来的改动
git log -p README.md
查看更改前后的差别
git diff
git diff HEAD
# 查看与最新提交内容的差别
分支的操作
显示分支一览表
git branch
创建、切换分支
git checkout -b feature-A
# 创建并切换分支feature-A
git checkout master
# 切换到master分支
git checkout -
# 切换回上一个分支
合并分支
git merge --no-ff feature-A
以图表形式查看分支
git log --graph
更改提交的操作
回溯历史版本
git reset --head 4d0cbf0
# 回溯到4d0cbf0的状态
git reflog
# 查看当前仓库执行过的操作的日志
修改提交信息
git commit --amend
# 修改上一条提交信息
压缩历史
git rebase -i HEAD~2
# 选定当前分支中包含HEAD(最新提交)在内的两个最新历史记录为对象,进行压缩合并
推送至远程仓库
添加远程仓库
git remote add origin git@github.com:xxx.git
# 将xxx.git远程仓库的名称设置为origin(标识符)
推送至远程仓库
git push -u origin master
# -u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的上游。
git push -u origin feature-D
从远程仓库获取
获取远程仓库
git clone git@github.com:xxx.git
# 默认处于master分支下,同时系统会自动将origin设置成该远程仓库的标识符。即:当前本地仓库的master分支与GitHub端远程仓库(origin)的master分支在内容是完全相同的
git branch -a
# 查看当前分支的相关信息,-a参数同时显示本地仓库和远程仓库的分支信息
git checkout -b feature-D origin/feature-D
# 将feature-D分支获取至本地仓库
获取最新的远程仓库分支
git pull origin feature-D
# 将本地的分支,更新到最新