翻译,修改,删除:git指令(持续工作)

master
xueweihan 2016-07-16 17:59:22 +08:00
parent 9def7b6bfe
commit e29573470f
1 changed files with 37 additions and 98 deletions

135
README.md
View File

@ -137,13 +137,9 @@
2. 暂存区:输入命令:`git add 改动的文件名`,此次改动就放到了‘暂存区’ 2. 暂存区:输入命令:`git add 改动的文件名`,此次改动就放到了‘暂存区’
3. 本地仓库:输入命令:`git commit 此次修改的描述`此次改动就放到了本地仓库每个commit我叫它为一个版本 3. 本地仓库:输入命令:`git commit 此次修改的描述`此次改动就放到了本地仓库每个commit我叫它为一个版本
4. 远程仓库:输入命令:`git push 远程仓库`此次改动就放到了远程仓库github等) 4. 远程仓库:输入命令:`git push 远程仓库`此次改动就放到了远程仓库github等)
5. commit-id
## Everyday Git in twenty commands or so ## 展示帮助信息
```sh
git help everyday
```
## Show helpful guides that come with Git
```sh ```sh
git help -g git help -g
``` ```
@ -178,11 +174,6 @@ git diff --cached
git diff HEAD git diff HEAD
``` ```
## List all branches that are already merged into master
```sh
git branch --merged master
```
## 快速切换分支 ## 快速切换分支
```sh ```sh
git checkout - git checkout -
@ -229,41 +220,42 @@ git tag -d <tag-name>
git push origin :refs/tags/<tag-name> git push origin :refs/tags/<tag-name>
``` ```
## Undo local changes with the last content in head ## 放弃工作区的修改
```sh ```sh
git checkout -- <file_name> git checkout <file_name>
``` ```
## Revert: Undo a commit by creating a new commit 放弃所有修改:
```sh ```sh
git revert <commit-ish> git checkout .
``` ```
## Reset: Discard commits, advised for private branch ## 回到某一个commit的状态并重新增添一个commit
```sh ```sh
git reset <commit-ish> git revert <commit-id>
``` ```
## Reword the previous commit message ## 回到某个commit的状态并删除后面的commit
和revert的区别reset命令会抹去某个commit id之后的所有commit
```sh ```sh
git commit -v --amend git reset <commit-id>
``` ```
## See commit history for just the current branch ## 修改上一个commit的描述
```sh ```sh
git cherry -v master git commit --amend
``` ```
## Amend author. ## 查看commit历史
```sh
git log
```
## 修改作者名
```sh ```sh
git commit --amend --author='Author Name <email@address.com>' git commit --amend --author='Author Name <email@address.com>'
``` ```
## Reset author, after author has been changed in the global config.
```sh
git commit --amend --reset-author --no-edit
```
## 修改远程仓库的url ## 修改远程仓库的url
```sh ```sh
git remote set-url origin <URL> git remote set-url origin <URL>
@ -286,113 +278,65 @@ git branch -a
git branch -r git branch -r
``` ```
## Stage parts of a changed file, instead of the entire file
```sh
git add -p
```
## Get git bash completion
```sh
curl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc
```
## 查看两个星期内的改动 ## 查看两个星期内的改动
```sh ```sh
git whatchanged --since='2 weeks ago' git whatchanged --since='2 weeks ago'
``` ```
## See all commits made since forking from master ## 把A分支的某一个commit放到B分支上
这个过程需要`cherry-pick`命令,[参考](http://sg552.iteye.com/blog/1300713#bc2367928)
```sh ```sh
git log --no-merges --stat --reverse master.. git checkout <branch-name> && git cherry-pick <commit-id>
``` ```
## Pick commits across branches using cherry-pick ## 给git命令起别名
```sh 简化命令
git checkout <branch-name> && git cherry-pick <commit-ish>
```
## Find out branches containing commit-hash
```sh
git branch -a --contains <commit-ish>
```
__Alternatives:__
```sh
git branch --contains <commit-ish>
```
## Git Aliases
```sh ```sh
git config --global alias.<handle> <command> git config --global alias.<handle> <command>
比如git status 改成 git st这样可以简化命令
git config --global alias.st status git config --global alias.st status
``` ```
## Saving current state of tracked files without commiting ## 存储当前的修改但不用提交commit
详解可以参考[廖雪峰老师的git教程](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137602359178794d966923e5c4134bc8bf98dfb03aea3000)
```sh ```sh
git stash git stash
``` ```
## 保存当前状态包括untracked的文件
__Alternatives:__ untracked文件新建的文件
```sh ```sh
git stash save git stash -u
``` ```
## Saving current state including untracked files ## 展示所有stashes
```sh
git stash save -u
```
__Alternatives:__
```sh
git stash save --include-untracked
```
## Show list of all saved stashes
```sh ```sh
git stash list git stash list
``` ```
## Apply any stash without deleting from the stashed list ## 回到某个stash的状态
```sh ```sh
git stash apply <stash@{n}> git stash apply <stash@{n}>
``` ```
## Apply last stashed state and delete it from stashed list ## 回到最后一个stash的状态并删除这个stash
```sh ```sh
git stash pop git stash pop
``` ```
## 删除所有的stash
__Alternatives:__
```sh
git stash apply stash@{0} && git stash drop stash@{0}
```
## Delete all stored stashes
```sh ```sh
git stash clear git stash clear
``` ```
## 从stash中拿出某个文件的修改
__Alternatives:__
```sh
git stash drop <stash@{n}>
```
## Grab a single file from a stash
```sh ```sh
git checkout <stash@{n}> -- <file_path> git checkout <stash@{n}> -- <file_path>
``` ```
__Alternatives:__
```sh
git checkout stash@{0} -- <file_path>
```
## Show all tracked files ## Show all tracked files
```sh ```sh
git ls-files -t git ls-files -t
@ -666,11 +610,6 @@ git rebase -i --autosquash
git commit --only <file_path> git commit --only <file_path>
``` ```
## Interactive staging.
```sh
git add -i
```
## 展示忽略的文件 ## 展示忽略的文件
```sh ```sh
git status --ignored git status --ignored