Fork me on GitHub

git指令速查文档(纯手工打造)

Git基本常用命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上远程仓库。

创建

  • 复制一个已创建的仓库

    git clone ssh://user@admin.com/repo.git

  • 创建一个新建的本地仓库

    git init

本地修改

  • 显示工作路径下全部已修改的文件

    git status

  • 显示与上次提交版本文件的不同

    git diff

  • 把当前某个文件添加到下次提交中

    git add.

  • 指定某个文件的修改添加到下次提交中

    git add -p

  • 提交本地的所有修改

    git commit -a

  • 提交之前已标记的变化

    git commit

  • 修改上次提交(请勿修改已发布的提交记录)

    git commit –amend

提交历史

  • 从最新提交开始显示所有的提交记录

    git log

  • 显示指定文件的所有修改

    git log -p

  • 谁,在什么时候修改了文件的什么内容

    git blame

分支与标签

  • 显示所有分支

    git branch -av

  • 切换当前分支

    git checkout

  • 创建新分支(基于当前分支)

    git branch

  • 创建新分支(基于远程分支)

    git checkout –track <remote/branch>

  • 删除本地分支

    git branch -d

  • 给当前分支打标签

    git tag

更新与发布

  • 列出当前配置的远程端

    git remote -v

  • 显示远程端信息

    git remote show

  • 添加新的远程端

    git remote add

  • 下载远程端所有改动到本地(不会自动合并到当前)

    git fetch

  • 下载远程端所有改动到本地(自动合并到当前)

    git pull

  • 将本地版本发布到远程端

    git push

  • 删除远程端分支

    git branch -dr <remote/branch>

  • 发布标签

    git push –tags

合并和重置

  • 将分支合并到当前

    git merge

  • 将当前版本重置到当前分支(请勿重置已发布的提交)

    git rebase

  • 退出重置

    git rebase –abort

  • 解决冲突后继续重置

    git rebase –continue

  • 使用配置好的合并工具去解决冲突
    git mergetool

  • 在编辑器中手动解决冲突后,标记文件为已解决冲突

    git add
    git rm

撤销

  • 放弃工作目录下所有修改稿

    git reset –hard HEAD

  • 放弃某个文件的所有本地修改

    git checkout HEAD

  • 重置一个提交(通过创建一个截然不同的新提交)

    git revert

  • 将HEAD重置到上一次提交的版本并抛弃改版本之后的所有修改

    git reset –head

  • 将HEAD重置到上一次提交的版本并将之后修改为未添加到缓存区的修改

    git reset

  • 将HEAD重置到上一次提交的版本并保留未提交的本地修改

    git reset –keep

git-cheatsheet.pdf
git-cheatsheet-CN-dark.pdf