前言

  整理的git流程,基本上工作都能满足。

  

平时拉代码

git clone 项目地址

 

创建分支

git branch 分支名
git push origin 分支名

  

查看分支&分支切换

git branch -a //查看其他分支
git checkout -t origin/xxx //xxx指你要切换的分支名,默认是master,一般我们都是拉develop分支的代码
git branch //此时可以看到修改后的分支
git checkout 分支名  //后面用这种方式切换分支即可

 

重新修改分支名

git branch -m 原分支名 新分支名
git push -d origin 原分支名
git push origin 新分支名
git branch --set-upstream-to origin/新分支名  //这里是绑定远程分支 也可以 git branch --track origin/新分支名

 

撤销本地分支与仓库的绑定

git branch --unset-upstream  //这里取消绑定前,记得要checkout本地要取绑的分支

 

绑定本地分支与远程仓库

git branch --set-upstream-to=origin/远程仓库分支名 本地分支名

  

合并分支(这里写把develop合并到master)

git checkout 要被合并的分支名(例如develop)
git pull
git checkout 要合并的分支名(例如master)
git pull
git merge 要被合并的分支名(例如develop)
git push origin 要合并的分支名(例如master)

 

撤销合并

git merge --abort

 

某一分支上的所有修改都移至另一分支上

git rebase 合并的分支 被合并的分支
或者
$ git switch 被合并的分支
$ git rebase 合并的分支

 

删除分支

git branch -d 分支名 //这个是删除本地分支 
git push -d origin 分支名 //这个是删除远程分支

  

平时提交代码

git pull
git add 要提交的项目文件  //嫌麻烦就git add . 表示提交全部
git push

  

隐藏不想提交的代码

git stash

 

重新显示隐藏的代码

方式一:git stash apply 恢复,恢复后,stash隐藏的内容并不删除,你需要使用命令 git stash drop 来删除。
方式二:git stash pop 恢复的同时把stash内容也删除了。

 

快捷代码回撤到上一版本

git reset --hard HEAD^  //回滚到上一版本,此时本地已经回滚,远程仓库还未回滚--不推荐
git reset --soft HEAD^  //回滚到上一版本,撤销了commit 代码依然保留--推荐使用

git push -f  //回滚远程仓库版本

  

代码回撤到指定版本

git log -n    //n表示查看哪次提交的commit,也可以git log 查看全部记录,看到后复制commit_id

git reset --soft 填写刚刚复制的commit_id  //推荐使用这个,本地代码不会回退
git reset --hard 填写刚刚复制的commit_id //这个会回退本地代码

git push -f //回滚远程仓库版本--推荐使用
git push origin 分支 //如果要指定git代码的分支就用这个

  

代码只是回撤到某次commit,但之后的commit不变

git log //查看自己要回撤的commit_id
git revert -n "刚刚复制的commit_id" //这是单次commitid,多次的话就 commit_idA..commit_idB
git commit "备注信息"
git push

 

如果本地代码和git仓库有冲突,提示overwrite

git stash
git pull origin 分支
git stash pop
//此时再进行 git add git commit git push 等常规流程就可以啦~

  

撤销git commit但不撤销add

git reset --soft HEAD~1

  

撤销git commit同时撤销add

git reset --hard HEAD^

 

如果是多分支进行合并操作

//如果是多分支进行合并操作
git checkout 需要合并的分支名
git cherry-pick 本次提交的commit_id

 

git submodule 子模块管理

git clone <repository> --recursive 递归的方式克隆整个项目
git submodule add <repository> <path> 添加子模块
git submodule init 初始化子模块
git submodule update 更新子模块
git submodule foreach git checkout <分支> -f 切换子模块分支
git submodule foreach git pull 拉取所有子模块

  

 

posted on 2022-12-12 15:06  Tom最好的朋友是Jerry  阅读(46)  评论(0编辑  收藏  举报