拉远程代码:
git clone 地址 //拉取maste分支代码
git clone -b 分支名 地址 //拉取某个分支的代码
分支有关命令:
git branch //查看本地分支
git branch -a //查看所有分支
git branch 分支名 //建立新分支
git checkout 分支名 //切到某个分支
git checkout -b 分支名 // 建立新分支并切换到该分支
git branch -D 分支名 //強制刪除指定分支(須先切換至其他分支再做刪除)
提交代码命令:
git add . // 提交暂存所有文件
git commit -m "注释" //将暂存区里的改动给提交到本地的版本库
git reset --soft HEAD^ //撤回commit操作
git commit --amend //修改commit注释
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
--hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
代码储藏:
可以用于代码写到一半时需要切换分支,将修改的代码都先存在一个空间。
//所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。
git stash //存tash
git stash list //查看现有stash
git stash show //查看最近一次的stash内容, 后面可以指定stash名字: git stash show stash@{1}
git stash show -p //查看最近一次的stash里详细修改内容,按q退出
git stash pop //恢复之前缓存最近一次的stash且删除,后面可以指定stash名字
git stash apply //恢复之前缓存的所有stash,但不删除
git stash drop //移除最近一次的stash命令,后面可以指定stash名字
git stash clear //删除所有缓存的stash
推送合并命令:
git pull origin 分支名 //拉取远程分支
git pull //本地拉取远程分支的子分支,在远程分支建立了子分支时需要
git push origin 分支名 //推送代码
git merge 分支名 //合并分支
代码冲突:
<!-- 比如feature/git合入develop分支有冲突 -->
git checkout develop //切到目标分支
git pull origin develop //拉取目标分支最新代码
git merge feature/git //合入源分支
//这时就会提醒你解决冲突
<!-- 解决完重新 -->
git add .
git commit -m "注释"
git push origin develop //推送到远程目标分支
版本回退:
git log //查看之前提交的记录,按q退出
git reflog //查看所有命令记录,按q退出
git reset --hard HEAD^ //删除**上个版本**的工作空间改动代码,撤销commit,撤销git add .
git reset --hard 版本ID //回退到某个版本
//版本回退后推不上远程分支直接使用:
git push -f origin 分支名