Git命令解析(续)
1.修改远程仓库的 url
git remote set-url origin <URL>
2.增加远程仓库
git remote add origin <remote-url>
3.列出所有远程仓库
git remote
4.查看两个星期内的改动
git whatchanged --since='2 weeks ago'
5.把 A 分支的某一个 commit,放到 B 分支上,这个过程需要 cherry-pick 命令:
git checkout <branch-name> && git cherry-pick <commit-id>
6.给 git 命令起别名,简化命令
git config --global alias.<handle> <command>
比如:git status改成git st,这样可以简化命令
git config --global alias.st status
7.存储当前的修改,但不用提交 commit
git stash
8.保存当前状态,包括 untracked 的文件(untracked 文件:新建的文件)
git stash -u
9.展示所有 stashes
git stash list
10. 回到某个 stash 的状态
git stash apply <stash@{n}>
11.回到最后一个 stash 的状态,并删除这个 stash
git stash pop
12.删除所有的 stash
git stash clear
13.从 stash 中拿出某个文件的修改
git checkout <stash@{n}> -- <file-path>
14.展示所有 tracked 的文件
git ls-files -t
15.展示所有 untracked 的文件
git ls-files --others
16.展示所有忽略的文件
git ls-files --others -i --exclude-standard
17.强制删除 untracked 的文件,可以用来删除新建的文件。如果不指定文件文件名,则清空所有工作的 untracked 文件。
clean 命令,注意两点:
clean 后,删除的文件无法找回
不会影响tracked的文件的改动,只会删除untracked的文件
git clean <file-name> -f
18.强制删除 untracked 的目录,可以用来删除新建的目录,注意:这个命令也可以用来删除 untracked 的文件。详情见上一条
git clean <directory-name> -df
19.展示简化的 commit 历史
git log --pretty=oneline --graph --decorate --all
20.把某一个分支到导出成一个文件
git bundle create <file> <branch-name>
21.从包中导入分支
新建一个分支,分支内容就是上面 git bundle create 命令导出的内容
git clone repo.bundle <repo-dir> -b <branch-name>
22.执行 rebase 之前自动 stash
git rebase --autostash
23.从远程仓库根据 ID,拉下某一状态,到本地分支
git fetch origin pull/<id>/head:<branch-name>
24.详细展示一行中的修改
git diff --word-diff
25.清除 gitignore 文件中记录的文件
git clean -X -f
26.展示所有 alias 和 configs
注意: config 分为:当前目录(local)和全局(golbal)的 config,默认为当前目录的 config
git config --local --list(当前目录)
git config --global --list(全局)
27.展示忽略的文件
git status --ignored
28.commit 历史中显示 Branch1 有的,但是 Branch2 没有 commit
git log Branch1 ^Branch2
29.在 commit log 中显示 GPG 签名
git log --show-signature