git 基本命令
配置用户名、邮箱
1 2 3 4 5 6 7 8
| git config --global user.name "github用户名"
git config --global user.email "github邮箱地址"
git config user.name "github用户名"
git config user.email "github邮箱地址"
|
git 常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git init git add . (-A) git commit -m "描述信息" git log git diff git diff --cached git diff master git status
git commit --amend git checkout --<file> git reset HEAD --<file> git rm --<file> git reset --hard HEAD git reflog git history
|
git 增加/删除文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git add [file1] [file2]
git add [dir]
git add .
git add -p
git rm [file1] [file2]
git rm --cached [file]
git mv [file-original] [file-renamed]
|
git 代码提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git commit -m [message]
git commit [file1] [file2] ... -m [message]
git commit -a
git commit -v
git commit -am 'message'
git commit --amend -m [message]
git commit --amend [file1] [file2] ...
|
git 分支管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git branch (dev) git branch -d dev git checkout dev git checkout -b dev
git merge dev git rebase dev
git log --oneline --graph --decorate --all
git statsh git statsh list git statsh pop git statsh apply git statsh drop
|
git show
- git show -s –format=%H 获取commit
- git show -s –format=%cn 获取提交用户名
- git show -s –format=%ce 获取提交用户邮箱
- git show -s –format=%cd 获取提交时间
git 标签
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| git tag
git tag [tag]
git tag [tag] [commit]
git tag -d [tag]
git push origin :refs/tags/[tagName]
git show [tag]
git push [remote] [tag]
git push [remote] --tags
git checkout -b [branch] [tag]
|
git 撤销操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| $ git checkout [file]
$ git checkout [commit] [file]
$ git checkout .
$ git reset [file]
$ git reset --hard
$ git reset [commit]
$ git reset --hard [commit]
$ git reset --keep [commit]
$ git revert [commit]
$ git stash $ git stash pop
|
远程库操作
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 32 33
| git remote add <库名> <库地址>
git remote remove <库名>
git remote rename <库名> <新库名>
git remote -v
git clone <url>
git fetch <url>
git pull --rebase <远程库>
git push <库名> <分支名>
git rebase --abort
git rebase --continue
git rebase --skip
|
远程库常见操作
Git reset
- –hard HEAD^:重置位置的同时,清空工作目录的所有改动;
- –soft HEAD^:重置位置的同时,保留工作目录和暂存区的内容,并把重置 HEAD 的位置所导致的新的文件差异放进暂存区。
- –mixed HEAD^(默认):重置位置的同时,保留工作目录的内容,并清空暂存区。
Git rebase
主要是为了合并多个commit
git rebase -i
可以将多条commit进行合并
- Pick:会在你的历史记录中保留该提交。
- Reword:允许你修改提交信息,可能是修复一个错别字或添加其它注释。
- Edit:允许你在重放分支的过程中对提交进行修改。
- Squash:可以将多个提交合并为一个。
Git cherry-pick
可以理解为将指定分支复制到当前分支上
git cherry-pick 指定分支