git基操:
git add .
git commit -m "提交的内容备注"
git pull --rebase(协作开发的时候早上来了先pull一下远程代码)
git push
git 撤销add: git reset HEAD (只是进行了add操作要撤销)
git 撤销commit :
git reset --soft HEAD^ (仅撤销commit 保留add)
git reset --hard HEAD^(撤销commit 撤销add,慎用)
git 退回指定版本:
git reset --hard 想要退回的指定版本号 完成后执行 git push -f 推送到远程仓库
git 合并分支:
master合并到本地分支上: 先把远程master分支代码pull下来,切换到想要合并的分支上,执行git merge master (如有冲突先解决冲突,git add 文件 ,git commit -m ""),之后再push
撤销合并 :git merge --abort
git 提交代码时候报eslint styleLint这种类型的错误, 可以在commit后面加上--no-verify来解决
git commit -m "我就不改" --no-verify
多人开发模式下,git commit之后增加git pull --rebase(也可以使用git pull) 操作是为了避免在自己推代码的时候同事也提交了代码,导致代码覆盖丢失
使用git pull --rebase 有冲突的情况下会有以下三种解决方式:
git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃,即撤销git rebase;
git rebase --skip 则会将引起冲突的commits丢弃掉(慎用!!);
git rebase --continue 合并冲突(手动解决冲突之后,用"git add"命令去更新这些内容的索引(index),然后执行 git rebase --continue 就可以线性的连接本地分支与远程分支,无误之后就回退出,回到主分支上注意:一般情况下,修改后检查没问题,使用rebase continue来合并冲突。)
执行完continue之后有时候会进入一个vim操作界面,提醒你修改commit的相关信息,按i进入编辑模式,修改完毕后按Esc退出,然后输入:wq保存并退出编辑。(如果你只是保留了其中一个版本,而不是对两者进行整合,那么不会弹出vim操作界面)
git pull --rebase 和 git pull 的区别:
git pull的默认行为是git fetch + git merge
git pull --rebase则是git fetch + git rebase
git fetch 从远程获取最新版本到本地,不会自动合并分支
git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态
git pull 和git fetch 的区别
● git pull:相当于是从远程获取最新版本并merge到本地
● git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git stash :
常用git stash命令:
(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash
git 删除文件, 不要直接在自己本地文件里面delete删除文件然后add,commit提交 这样子那些文件远程仓库依然存在,导致删了个寂寞
删除单个文件 git rm 文件名 --cached
删除某个文件夹 git rm -r 文件夹名(具体的文件夹路径 比如src/views/files) --cached
执行完git rm 之后 再执行 commit push即可
git remote
git remote -v查看绑定的仓库列表
git remote remove <仓库名> 删除仓库
git remote add <仓库名> <仓库地址> 添加新仓库