前言
平常项目开发避免不了会用到一些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命令还是要经常敲打命令行,才能更快的记住,我就是那种懒笨懒笨的,能用面板命令就不动手的那种,所以每次用到都要去书签找,空闲时间将常用的整理出来,常用的还是要记住更好,所以大家一定要动动小手啊!