临时存储工作区
1 2 3
|
$ git stash Saved working directory and index state WIP on master: e353f90 Merge branch 'br03' HEAD 现在位于 e353f90 Merge branch 'br03'
|
1 2
|
$ git stash list stash@{0}: WIP on master: e353f90 Merge branch 'br03'
|
1 2 3 4 5 6 7 8 9 10
|
$ git stash pop 位于分支 master 尚未暂存以备提交的变更: (使用 "git add <file>..." 更新要提交的内容) (使用 "git checkout -- <file>..." 丢弃工作区的改动)
修改: 01.txt
修改尚未加入提交(使用 "git add" 和/或 "git commit -a") Dropped refs/stash@{0} (5e63a27ea50c2fd5f3ee5f7a36c10b224b430cc5)
|
git stash pop
= git stash apply
+ git stash drop stash@{0}
。
git stash
将工作区及暂存区的修改存储起来,但还原时,除了新增的跟踪文件(新文件第一次被add),其他修改全部还原到工作区。
其他配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
$ git config --global core.editor vim $ git config --global core.quotepath false $ git config --global diff.tool vimdiff $ git config color.ui true $ git config --list
$ git config --global alias.st status $ git config --global alias.co checkout $ git config --global alias.cm commit $ git config --global alias.br branch $ git config --global alias.mg merge --no-ff $ git config --global alias.unstage 'reset HEAD' $ git config --global alias.last 'log -1' $ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset \ -%C(yellow)%d%Creset %s %Cgreen(%ad) %C(bold blue)[%an]%Creset' --abbrev-commit --topo-order --date=short"
|
忽略文件
编译过程的文件,以及一些临时文件,可以设置规则,不要求git进行跟踪。在工作目录下编写.gitconfig
文件,将需要忽略的文件或规则编写进去即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
# Windows: Thumbs.db ehthumbs.db Desktop.ini
# Python: *.py[cod] *.so *.egg *.egg-info dist build
# My configurations: db.ini deploy_key_rsa
|
(以上内容来着廖雪峰的官方网站)
自动提示
如果使用git时,无法通过tab键提示,就需要安装git-completion.bash
。这里下载。
放置到cygwin目录下的/home/<用户>目录下,执行
1 2 3
|
$ mv git-completion.bash ~/.git-completion.bash $ echo 'source ~/.git-completion.bash' >> .bashrc $ source ~/.bashrc
|
测试
1 2
|
$ git che<tab><tab>k checkout cherry cherry-pick
|
以后忘掉命令,就可以通过tab键进行提示了。
~~ EOF ~~