git常见场景处理

过滤一些不须要的上传的文件或者文件夹

在项目根目录建立.gitignore文件,一行一个过滤规则git

*.class
class/

本地仓库的版本前进回退

git reset --hard HEAD^ #回退到上一个提交版本app

git reset --hard HEAD^^ #回退到上上一个提交版本fetch

git reset --hard HEAD~100 #回退到上100个版本code

git reset --hard commit_id #回退或者前进到指定版本,commit_id可使用git log或者git reflog查看it


工做区/版本库理解

工做区/版本库

工做区:就是你当前编辑的项目目录ast

版本库:在项目根目录下的.git文件夹里class

暂存区:版本库里面用来暂时保持修改文件的地方,git add 就是将修改加入暂存区,git commit 就是将暂存区里的修改赞成提交到版本库中的当前分支里面test


放弃工做区中的修改,或者误删了一个文件

git checkout -- file #file 就是放弃修改/误删的文件名称

想要删除了一个文件

git rm test.txt
git commit -m "" #这样版本库里面的文件也就删除了

提交流程

提交以前先fetch一下,防止本身修改的文件和别人提交的有冲突stream

若是有冲突修改保存以后在add 、commit到本地仓库,而后pushfile

保证远程仓库里的必定是没错的


出现bug以后的处理

首先将本身正在作的修改(暂时不能提交的修改)先存储起来,等bug修改好了以后在继续

git stash

而后肯定在哪一个分支上建立bug分支,例如就是master分支

git checkout master
git checkout -b bug

修改bug,并提交到bug分支,而后合并bug和master分支

git checkout master
git merge bug

修改冲突而且将master分支提交到远程,到这里bug的问题就行了,能够开始继续咱们刚刚没有完成的工做,

回到原来的分支,找回刚刚存储的工做环境

git stash list #查看存储的工做现场
git stash pop stash_key #恢复工做现场并删除存储,也可使用git stash apply和git stash drop命令,效果同样

设置本地分支和远程分支的连接,这样在推送的时候能够省略分支名称

git branch --set-upstream dev origin/dev  #前面的本地,后面的远程
相关文章
相关标签/搜索