git命令学习三
比较暂存区及工作区和HEAD所含文件的差异
git diff --cached 暂存区和HEAD的区别
git diff 工作区和暂存区的区别
git diff -- file file文件的差别
恢复暂存区及工作区
git reset HEAD 把暂存区的所有文件恢复到HEAD,文件修改退回到工作区
git checkout -- file 将工作区文件恢复
git reset HEAD --file 将暂存区的文件恢复到和HEAD一样
消除最近的几次提交
git reset --hard commit 将head指针指到head,暂存区和工作区都会恢复到commit
git diff commit1 commit2 比较两个commit之间的差异,查看某个文件加 -- file
删除文件
git rm file file为要删除的文件
处理临时任务
git stash 将文件存起来,然后暂存区和工作区是干净的。
git stash apply 两个作用,一个将stash的信息释放出来,一个是保留stash的信息,使用git stash pop 不会保留stash信息。
使用 .gitignore 来控制git文件管理,不需要被git纳入管理的将文件或文件夹名字写入到.gitignore中。
Git备份
哑协议传输进度不可见;智能协议传输可见
智能协议比哑协议传输速度快。
git clone --bare xxx.git 哑协议, --bare 表示不带工作区的
git clone --bare file://xxx.git 智能协议
git remote -v 远程仓库
git remote add file://xxx.git 增加远端仓库
git push 修改传到远端仓库
git pull 将远端的内容拉到本地来,并且merge,git fetch 只会将远端的内容拉到本地。
git集成使用禁忌
git push -f 强制push到远端
使用rebase 进行变基操作