git 常见拉取 提交 回退 命令
拉取
$ git clone 地址 // 克隆分支 $ git pull origin dev-cy // 拉取具体的分支 $ git checkout 名字 //切换到该分支 $ git checkout -b 名字 //新建分支并切换到该分支
提交
$ git status // 获取当前分支的状态 $ git commit --no-verify -m "注释说明" // 加注释提交 $ git push // 推送 $ git push origin dev-cy // 推送到具体的分支
合并分支
$ git checkout develop //切换到该分支 $ git merge dev-cy //merge要合并的分支 $ git push origin develop //推送到被合并的分支
合并提交某一个分支
$ git checkout master//切换到该分支 $ git checkout develop './src/views/main/system/BusinessSet.vue' //切换到该分支具体文件
根据commit id 提交到另一个分支上
git checkout master // 切换到该master分支 git cherry-pick 1873e35 //(如果没有冲突,将成功合并) git push origin master // 推送到master分支
切换分支如果不改变本地代码时【git stash 暂存】
先 git stash 后 checkout 分支 完成后 切换回 原分支 再 git stash pop 恢复文件
git stash 能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
git stash pop 恢复最近的缓存到当前文件中,同时删除恢复的缓存条目。
git stash list 执行找到stash的列表
git stash apply stash@{stash_id} 还原某个版本
git stash clear 删除stash的所有记录
回退到版本
1、:回退到上一个版本: git reset --soft HEAD^; 回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。(hard力度强,慎用) 2、:回退到前100个版本: git reset --hard HEAD~100 。 3、:回退到制定版本: git reset --hard 版本号
不同程度提交的回退方式
1、当git merge 但还没add时,若想取消这次合并 git merge --abort 2、已经 git add 了 先用 git reflog 指令显示历史的操作,再用 'git reset --hard commit id’就可以回退到操作之前的状态了 git reflog git reset --hard commit id 3、撤回 commit命令 git reset --soft HEAD^ git reset --soft commit id^ // ^ 这个符号不能丢
4、push 后回退
git log // 提交记录
git reset --soft aa18d5c5c681061a9d3 // 回退到某个记录(最好用soft,慎用hard)
git push origin dev-cy --force // 强制覆盖
smile