Git基础04

临时存储工作区

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
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 # 编辑器用VIM
$ git config --global core.quotepath false # 不转义文件名或路径
$ git config --global diff.tool vimdiff # difftool用vimdiff
$ git config color.ui true # 开启git颜色
$ git config --list # 显示config列表,或者查看.gitconfig及.git/config文件

# 别名设置 输入git co就可以代表git checkout
$ 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 log

忽略文件

编译过程的文件,以及一些临时文件,可以设置规则,不要求git进行跟踪。在工作目录下编写.gitignore文件,将需要忽略的文件或规则编写进去即可。

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 # 在.bashrc下添加命令
$ source ~/.bashrc # 使.bashrc立即生效

测试

1
2
$ git che<tab><tab>
checkout cherry cherry-pick

以后忘掉命令,就可以通过tab键进行提示了。

如果本文对你有所帮助,请小额赞助
~~ EOF ~~