git的使用四 - git常用终端指令

本文参考来源:廖雪峰-git教程

创建并提交

初始化本地git仓库

1
git init

添加文件到仓库

  1. 添加一个或多个文件

    1
    git add <文件路径> <文件路径> ...
  1. 添加当前路径下所有文件

    1
    git add .

文件提交到仓库

1
git commit -m "本次提交的说明"

状态和版本

查看git仓当前的状态

1
git status

比较不同

1
git diff

git操作日志

  1. 详细的提交历史

    1
    git log
  1. 简洁的提交历史

    1
    git log --pretty=oneline
  1. 历史命令

    1
    git reflog
  2. 分支图

    1
    git log --graph

回退版本

  1. 回到上一个版本

    1
    git reset --hard HEAD^
  1. 回退到特定版本

    1
    git reset --hard commit_id

撤销某个文件的修改操作

1
git checkout -- <文件名>

远程库操作

添加远程仓

推荐使用ssh的速度快,https速度慢且每次都需要口令

1
2
3
4
5
//git@server-name:path/repo-name.git
//或
//https开头的形式

git remote add origin <远程仓地址>

提交到远程仓

  1. 第一次提交

    1
    git push -u origin master
  1. 往后提交

    1
    git push origin master

复制远程仓

1
git clone 远程仓地址

分支管理

创建分支

  1. 单纯创建分支

    1
    git branch <分支名>
  2. 创建并切换到分支

    1
    git checkout -b <分支名>

拉取分支

1
git checkout <分支名>

查看所有分支

1
git branch

合并分支

  1. 合并指定分支到当前分支

    1
    git merge <分支名>
  1. 禁用快速模式

    1
    git merge --no-ff <分支名>
  1. 合并并带上说明

    1
    git merge -m "<说明>" <分支名>

删除分支

1
git branch -d <分支名>

bug分支

  1. 创建bug分支

    1
    git checkout -b <issue-数值>
  1. 保存现场

    1
    git stash
  1. 保存的现场列表

    1
    git stash list
  2. 恢复现场

    (1)方法一,现场信息不会被删除

    1
    2
    git stash apply
    git stash drop
(2)方法二,强制恢复
1
git stash pop

feature分支

每一个新功能需要新建一个feature-xxx分支

远程分支与本地分支管理

查看远程分支

1
git remote -v

关联远程和本地分支

  1. 在本地创建和远程分支对应的分支

    1
    git checkout -b <branch-name> origin/<branch-name>

    本地和远程分支的名称最好一致

  2. 建立本地分支和远程分支的关联

    1
    git branch --set-upstream <branch-name> origin/<branch-name>

标签

创建的标签名不会自动推送到远程git仓库,默认给HEAD打tag,也可以指定一个commit id

新建一个标签

1
git tag <标签名>

指定标签信息(非签名)

1
git tag -a <标签名> -m "<说明>"

指定标签信息(PGP签名标签)

1
git tag -s <标签名> -m "<说明>"

查看所有标签

1
git tag

推送某个标签到远程

1
git push origin 标签名

推送所有未被推送的标签名

1
git push origin --tags

删除标签

1
git tag -d 标签名

删除远程标签名

先需要删除本地的

1
git push origin :refs/tags/<标签名>

配置git设置

配置醒目颜色开启

1
git config --global color.ui true

配置用户名

1
git config --global user.name "名字"

配置邮箱

1
git config --global user.email "邮箱"