整理一些常用的git命令,不想每次去书签找啦

318 阅读5分钟

前言

平常项目开发避免不了会用到一些git命令,正常写功能正常提交拉取的话大家都不陌生,怕的就是代码冲突,突然让把项目上传到新库,而且又有什么交接到项目方那里不能有以前的提交记录等等等等,这时候我们就要打开baidu了,今天整理一些常用的但是又不太熟悉的~

将当前分支修改提交到其他分支

如果我们在一个分支写一个新需求写到一半发现这个是master分支,或者是其他什么你不能写的分支,这个时候这个git命令可就帮大忙了,就是stash本地的git存储区,可以暂存改动的代码,我们可以切到其他分支,把这个暂存的代码放出来,或者我们在其他分支修改了一些东西,想在回来继续之前的改动都是可以的,想再哪个分支放出来就在哪个分支git stash pop但是一定要记得放出来

1.在当前分支通过git stash将工作区恢复到上次提交的内容    git stash

2.然后切换至B分支    git checkout B

3.从git栈中获取到最近一次stash进去的内容,恢复工作区的内容,获取之后,会删除栈中对应的stash    git stash pop

4.在进行正常的提交代码步骤即可    git add .

5.git commit -m

6. git pull origin 分支名称

7. git push origin 分支名称


删除GitHub中的所有历史提交记录

当公司项目要交付给项目方时,人家要求代码要传到github,这个时候,我们就需要删除我们项目中的历史提交记录了

1.相当于创建新分支 git checkout --orphan latest_branch

  • git checkout --orphan 把 git 所有 commit 记录清理,可以缩减仓库,相当于重建一个新仓库

2.提交到本地    git add .

3.提交说明    git commit -am "update"

4.删除分支,假设你需要删除的提交记录是在master分支,那么就删除master分支   

git branch -D master

5.把当前分支重新命名    git branch -m master

6.强制更新存储库    git push -f origin master


git remote 断开当前仓库连接 连接新仓库

公司项目大多都是很类似的,好比公司的一些官网,这些官网只有页面内容是不一样的,页面大多也都是单页面,其它的用的框架,用到的库等等几乎都是一样,所以这个时候我们就可以打开之前项目新切出来一个分支,写好页面,断开与原来仓库的连接,连接新官网的项目地址,并把这个新分支推到新项目的git地址,就可以啦

1.当前项目查看远程连接    git remote -v

2.git取消与远程仓库的连接    git remote remove origin

3.初始化仓库    git init

4.连接新仓库 意味着连接了新项目    git remote add origin https://github.com/XXX.git

5.在当前分支的基础上创建新分支写新页面   git checkout -b newbr

6.提交到本地    git add .

7.提交说明    git commit -m “说明"

8.推送到新项目的远程分支   git push -u newbr


git cherry-pick命令 合并一个或多个 commit

对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求,但是有些时候,代码不能全部合并过去,只能合并一个或多个 commit ,就不能用 merge ,这个时候 git cherry-pick的用处就来了,git cherry-pick 命令的作用,就是将指定的提交 commit 应用于其他分支

1.先切换到b分支   git checkout b

2.在b分支合并a分支的commit    git cherry-pick commitId

  • commitId 要去git上a分支的提交记录里面查看并复制!

git merge --abort 命令 回到解决冲突之前的状态

当我们跟其他人的代码冲突后肯定是要解决冲突的,但是期间可能解决起来就乱了,导致有些代码丢失,这个时候可以用git merge --abort 命令 回到解决冲突之前的状态


git reset --hard 版本回滚

当我们把提交推送到远端仓库后发现,提交错误了,这个提交不想要了,这个时候就可以用版本回滚到上一个commit之前

1.查看上一个 commit 记录,并复制 commitId   git log

2.直接回滚    git reset --hard commitId


git tag 标签 项目部署上线时会用到

1.查看当前项目所有tag    git tag

2.本地创建新tag 假如上一个tag是1.0.0 遵循以往tag规律    git tag a -v1.0.1

3.将新建tag 推送到远程仓库    git tag origin a -v1.0.1


总结

git命令还是要经常敲打命令行,才能更快的记住,我就是那种懒笨懒笨的,能用面板命令就不动手的那种,所以每次用到都要去书签找,空闲时间将常用的整理出来,常用的还是要记住更好,所以大家一定要动动小手啊!