git配置用户名与邮箱
git config --list //查看git所有配置
git config --global user.name "curry"//配置用户名
git config --global user.email "dontegrand@gmail.com"//配置邮箱
git新建分支,并发布到线上
git checkout -b curry //新建curry分支
git push --set-upstream origin curry // 分布到远程
git将本地分支与远程分支相关联。
git branch --set-upstream-to=origin/remote_branch your_branch
git新建远程分支
git remote add origin https://giturl
git push -u origin master //初次提交并关联远程master
git根据远程分支在本地新建分支
git checkout -b dev origin/dev // 根据远程dev,在本地新建dev
git删除分支
git branch -d curry // 删除curry本地分支
git push origin --delete curry // 删除远程curry分支
查看分支
git branch //查看本地分支 git branch -a //查看远程分支 git branch -D curry //删除master分支 git push origin --delete curry //删除远程curry分支
强拉线上dev来更新本地dev
git fetch -all git reset --hard origin/dev
强推到线上
git push -f
git 查看关联仓库
git remote //查看关联仓库的名称 git remote -v //查看关联仓库的详情
git 修改ssh协议为http协议
git remote set-url origin <newURL>
git修改账号密码后报错:git fatal: Authentication failed for
git config --system --unset credential.helper
将一个分支上的提交合并到另外一个分支
分支A上:git reflog 查看commitid git checkout b 切换到b分支上 git cherry-pick commitid 合并commitid的提交到分支b上
新建本地分支,并合并dev分支
git checkout -b local //新建本地local分支并切到local分支 git merge dev //合并dev分支
合并某个分支上的文件或文件夹并;回退某个文件(撤回add的文件)
git checkout app.vue 撤回app.vue这个文件 git checkout --patch dev ./src/views/applicaion // 合并dev分支上的applicaion文件夹
修复紧急bug时,隐藏开发分支上的内容,从master分支创建hotfix分支,修完发布,回到dev继续开发。
// 当前是dev分支,还没开发完 git stash // 隐藏开发分支内容 //或者 git stash save '注释' 方式。 git checkout master git pull git checkout -b hotfix //修完提交 git checkout dev //回到dev git stash list //查看保存的列表 git stash apply // 显示工作区继续开发 git stash drop // 删除隐藏的工作区
功能分支b2b,未开发完不想提交,需要切到dev上去修bug。
git stash //隐藏b2b分支上开发的内容 git stash list // 可查看stash的id git checkout dev //切到dev上搞事情 git checkout b2b git stash pop //直接显示stash的内容并删除掉了stash list上的记录。
两人在同一分支开发,每次push前,git pull 会在本地造成一次merge into 的提交记录
git pull --rebase // git pull 的同时,消除merge into的提交记录,美化提交记录。
子仓库相关操作
git add <http://xxx/xxx.git> </src/相对路径> // 在相对路径下新增一个子仓库 git submodule update --init // 初始化子仓库 git submodule update --remote // 拉取子仓库 git submodule foreach checkout test // 子仓库都切到test分支