工作中常用git命令

1.commit push 代码已经更新到远程仓库

对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用到下面的命令

git revert <commit_id>
revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新。

git checkout -b branchname <commitId>将本地代码改为对应的commitid对应的版本分支名称为branchname

注意:git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit,看似达到的效果是一样的,其实完全不同。

git合并多次commit
git rebase 命令:将多次commit合并,只保留一次提交历史记录。
1、git log 查看提交历史记录,例如我们需要将 8d583c56 、ba29f993 、0963cff1、d5932e0d 、71101808 、d8915ad2 合并为一个commit。
2、git 压缩 git rebase -i HEAD~6 or git rebase -i 10b73908

-i 的参数是不需要合并的 commit 的 hash 值,这里的10b73908 为 d8915ad2 的前一次提交记录; 该命令执行后,进入 vi 的编辑模式,6次提交的commit倒序排列,最下面的是最近的一次提交记录。
修改第2~6行的第一个单词 pick 为 squash or s,然后 输入:wq or x 保存退出。
pick 的意识是要执行这个 commit
squash 的意识是这个 commit 会被合并到前一个 commit
git 会压缩提交历史,若有冲突,需要进行修改,修改的时候保留最新的历史记录,修改完之后输入以下命令:
git add .
git rebase --continue
若想退出放弃此次压缩,执行命令:
git rebase --abort
若无冲突 or 冲突已 fix,则会出现一个 commit message 编辑页面,修改 commit message ,然后 输入:wq or x 保存退出。
3、同步到远程 git 仓库
输入:git push -f or git push --force
查看远程仓库效果,多次 commit 已被合并成一次 commit

见:https://www.jianshu.com/p/571153f5daa1

猜你喜欢

转载自blog.csdn.net/zpflwy1314/article/details/107914258