芒果团子的博客

git命令

字数统计: 966阅读时长: 3 min
2018/10/19 Share

基础

1
$ git init // 初始化仓库
  • 设置使用git时的姓名和邮箱地址
1
2
3
$ git config --global user.name "姓名"
$ git config --global user.email "邮箱"
$ git config --list // 查看配置信息
1
$ git clone 仓库地址 // 克隆仓库到本地
1
2
3
4
5
$ git status  // 查看仓库状态
$ git status -s // 状态简化输出

$ git add 文件名 // 向暂存区添加文件,文件名为.时,表示添加全部
$ git commit -m "提交信息" // 保存仓库历史记录
  • 提交日志
1
2
3
4
$ git log // 完整的
$ git log --pretty=short // 只显示第一行简述信息
$ git log 目录名/文件名 // 只显示指定目录、文件的日志
$ git log -p // 显示文件改动
  • 更改前后差别
1
2
$ git diff // 工作树与暂存区的差别
$ git diff HEAD // 工作树与最新提交的差别,HEAD指向当前分支中最新的一次提交

仓库

1
2
3
4
5
6
$ git remote -v // 查看远程仓库
$ git remote add [name] [url] // 添加远程仓库
$ git remote rm [name] // 删除远程仓库
$ git remote set-url --push[name][newUrl] // 修改远程仓库
$ git pull [remoteName] [localBranchName] // 拉取远程仓库
$ git push [remoteName] [localBranchName] // 推送远程仓库

分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ git branch // 显示当前分支名
$ git branch -r // 查看远程分支
$ git branch -a // 查看本地仓库和远程仓库的分支列表
$ git branch [name] // 创建本地分支

$ git branch -D [name] // 删除本地未合并的分支
$ git branch -d [name] // 删除本地已经合并的分支
$ git push origin -delete [name] // 删除服务远端分支

$ git checkout [name] // 切换到分支
$ git checkout -b [name] // 本地创建分支,并切换到该分支
$ git checkout -b [localBranchName] origin/[remoteName] // 拉取远程分支master到本地,并创建分支feature

$ git checkout - // 切换到上一个分支

$ git merge [name] // 将名称为[name]的分支与当前分支合并

$ git push origin [name] // 创建远程分支(本地分支push到远程)
  • 在本地新建一个分支后,直接执行git push新分支不会被push到远程仓库,此时需要指定push的分支名
1
$ git push --set-upstream origin 分支名
1
2
3
$ git checkout master // 首先切换到master分支
$ git merge --no-ff featrue-1.0 // 合并featrue-1.0分支
$ git log --graph // 以图表形式查看分支,常用

更改提交的操作

1
2
3
$ git reset --hard 哈希值  // 仓库的head、暂存区、当前工作树回溯到指定的哈希值
$ git reflog // 查看当前仓库操作的日志,确定需要回溯的哈希值
$ git commit --amend // 修改提交信息
  • 如果提交内容中有拼写错误,可以提交后,将该提交与前一个提交进行合并,压缩成一个历史记录
1
2
3
4
5
6
7
8
9
$ git rebase -i HEAD~2  // 选定包含HEAD在内的两个最新历史记录为对象,并在编辑器中打开

// 编辑器内容
pick 7ddfuiao Add
pick 57jojajo fix typo // 需要压缩的记录,将pick改写为fixup
fixup 57jojajo fix typo // 编辑后的内容,保存并关闭编辑器

// 显示 Successfully rebased 表示合并修改记录成功
Successfully rebased and updated refs/heads/feature-C.

远程仓库

  • 将本地仓库与远程仓库关联
1
2
$ git remote add origin 仓库地址 // 本地与远程分别创建,然后进行关联,不是clone到本地
$ git push -u origin master // 初次关联后的push需要指定推送的远程仓库,后续的推送直接git push就可以了
  • 本地创建了分支,推送至远程仓库
1
2
$ git checkout -b feature-D // 在本地创建了名为feature-D的分支
$ git push -u origin feature-D // push到远程仓库中
  • 从远程仓库获取
1
2
3
$ git clone 仓库地址 // 将远程仓库克隆到本地,默认处于master分支
$ git checkout -b 本地新建分支名 origin/远程仓库分支名 // 获取远程的分支
$ git pull origin 分支名 // 获取最新的远程仓库分支
CATALOG
  1. 1. 基础
  2. 2. 仓库
  3. 3. 分支
  4. 4. 更改提交的操作
  5. 5. 远程仓库