git review (二)

来源:互联网 发布:行知商学院 编辑:程序博客网 时间:2024/05/22 00:13

git review (二)

git stash进度恢复

git stash 执行之后,在暂存区跟踪过后的文件无论在暂存区还是工作区的都会被重置掉,而没有add的文件都还存在在工作区。(据说是用了git reset --hard HEAD,但是没有跟踪在暂存区的文件没被删除啊!!)

git stash pop或者apply之后,工作区现在没有被跟踪的文件不会丢掉,好像只增加了一些文件,其它的没动。

git reset –hard HEAD 执行了下,看来untracked file都不会管啊= =、
git stash命令
git stash list
git stash pop
git stash save "message..."
git stash apply [<stash>]
git stash drop [<stash>]
git stash clear 清除所有stash

git clean 命令
git clean -nd 查看哪些文件和目录会被删除
git clean -fd 强制删除多余的目录和文件

关于git stash 做了什么

通过git diff commitID1 commitID2命令进行比较发现
多了三个提交,分别是WIP工作区的提交,index暂存区的提交,他们俩的父提交都是原来的HEAD的commit(这里叫做原基线)
原基线和暂存区差别就是git add之后跟踪的文件
原暂存区和原工作区没有差别。。这个跟书上不一样,我亲自试过,可能版本不同现在的改进了
原工作区和原基线的差别就是git add之后跟踪的文件

删除文件

git ls-files 显示版本库中的文件
git ls-files –with-tree = HEAD^
删除暂存区的文件命令
git rm filename
然后 git commit
git add -u 命令表示将本地所有改动(修改和删除)的文件都标记到暂存区。
git add -A 会将所有改动及增加的文件添加到暂存区。
恢复某个文件(举例):
git chechout HEAD~1 -- filename
改名(举例):
git mv a b

git tag 里程碑

git tag -m 'message' tag_name

git log --oneline --decorate 此处decorate可以在提交id旁边显示提交关联的引用(里程碑或者分支)。

git describe 可以查看现在的tag后的编号,可以作为版本号。

文件忽略

在想要忽略文件的目录下添加 .gitignore 文件,里面内容是忽略的文件(且只对未跟踪文件有效)
本地独享式忽略文件 .git/info/exclude来设置。
忽略语法见git权威指南**Page**129

文件归档

基于最新提交建立归档文件latest.zip
git archive -c latest.zip HEAD
只将目录src和doc建立到归档partial.zip中
git archive -c partial.tar HEAD src doc
基于里程碑v 1.0建立归档,后面会介绍

0 0
原创粉丝点击