【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决

前言

初衷: 记得刚入行时,Git工具使不明白老是代码有冲突,甚至跟同事的代码都不同步(想想那时候都难)。最近整理一下Git笔记命令分享给大家,避免大家出错。

适合人群: 前端初级开发,大佬绕道。

内容结构: 常用的基本操作命令 -> 特殊问题的场景怎么解决。

常用的基本操作

git init

这个git init不用多说,大家都知道这个命令是初始化当前目录变成可以使用git管理的仓库,并且是空的。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第1张图片

git clone 远程地址[url]

通过git clone命令从远程地址下载出来,这个也不用过多描述。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第2张图片

git status

git status查看本次本地有多少个文件发生变更。可以看到index.cssd和index.html发生变更

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第3张图片

git log

git log查看当前提交的日志。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第4张图片

git diff

git diff是查看当前改动的文件具体代码内容比对。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第5张图片

git checkout .

git checkout .就是所有有改动的全部恢复到原来的样子, 当然也可以恢复指定的如:git checkout index.css只恢复这个文件当前的修改。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第6张图片

git add .

git add .是将修改的内容新增到暂存区,也可以提交指定的的文件。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第7张图片

git commit -m "你的要提交的注释"

git commit -m这里的内容从暂存区写入到对象库中, 注意注释必须写

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第8张图片

git tag

查看当前tag标签

git tag tagName(你的tag名称)

新建一个Tag标签

git tag -a tagName -m "tag备注"

新建一个tag标签带有备注信息

git show tagName(你的tag标签名)

查看当前tag备注信息

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第9张图片

git push origin tagName(你的tag名称)

git push origin v1.0推送到远程

git push origin branch(你的分支)

git push origin branch推送到远程仓库。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第10张图片

git pull origin branch(你的分支)

git pull origin branch从远程拉取到本地。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第11张图片

git checkout branch(你的分支)

git checkout branch切换到别的分支上。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第12张图片

git checkout -b branch(你的分支)

git checkout -b branch(分支名称)新建一个分支并切换到该分支上。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第13张图片

git branch -v

git branch -v查看当前的分支并且后面带有最后一次提交的信息

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第14张图片

git branch -a

git branch -a查看当前所有的分支包括远程分支

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第15张图片

git branch branch(你的分支)

git branch barnch(你的分支名称)新建一个本地分支。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第16张图片

git branch -D name(分支名)

git branch -D name(分支名) 删除本地分支,但是不能在当前的分支上删除当前分支,必须切换到别的分支上,删除其它分支。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第17张图片

git remote -v

git remote -v查看源地址

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第18张图片

git remove remote name(源地址名字)

git remove remote name删除源地址。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第19张图片

git remote add name(源地址名字) 远程地址[url]

git remote add name url添加一个源地址为要提交仓库的地址。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第20张图片

git fetch origin name(远程分支名称)

git fetch origin name如果我们本地没有该分支,远程有该分支,我们先拉下来远程分支,并且新建本地分支和远程分支关联上就可以了。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第21张图片

git merge name(要合并的分支名称)

git merge name(要合并的分支名称)将要合并的分支合并到其它分支上。将test分支上的代码合并到develop上。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第22张图片

特殊问题场景怎么解决

只想把一个提交合并到其它分支上

比如一个场景develop分支上有一些特殊的代码,所以不能把这个分支上的代码合并到test分支上,我们只想合并当前修改的代码,该怎么办呢git cherry-pick就是用来解决这问题的,来看下面例子。

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第23张图片

上面example中,git cherry-pick后面跟着一个id这个id就是别的分支提交记录的id,查看这个id的话上面说过了使用git log查看日志。我这个案例代码是没有发生冲突情况的,那么有的小伙伴发生冲突的话,先解决冲突然后git add .git cherry-pick --continue这个参数是继续执行当前的git cherry-pick过程。下面来查看几个参数

  • --continue 用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行。
  • --abort 发生代码冲突后,放弃合并,回到操作前的样子.
  • --quit 发生代码冲突后,退出 Cherry pick,但是不回到操作前的样子

如果commit时注释写错了怎么办?

git commit --amend -m "重新提交注释"

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第24张图片

远程强制覆盖到本地

$ git fetch --all(下载远程库的所有内容)
$ git reset --hard origin/master(远程的分支名称)
$ git pull

commit提交完怎么撤回

git reset HEAD~1撤回刚才的注释,如果提交了2次commit那么就撤回2次git reset HEAD~2

【建议收藏】分享一些工作中常用的Git命令及特殊问题场景怎么解决_第25张图片

Git开发错分支了

没提交代码时

git add .
git stash (把暂存区的代码放入到git暂存栈)
git checkout name(切换到正确的分支)
git stash pop(把git暂存栈的代码放出来)

提交代码后

git reset HEAD~1  (最近一次提交放回暂存区, 并取消此次提交)
git stash (暂存区的代码放入到git暂存栈)
git checkout (应该提交代码的分支)
git stash pop (把git暂存栈的代码放出来)
git checkout  (切换到刚才提交错的分支上)
git push origin 错误的分支 -f  (把文件回退掉)

感谢

谢谢各位在百忙之中点开这篇文章,希望对你们能有所帮助,如有问题欢迎各位大佬指正。

如果觉得写得还行的话,那就点个赞吧。

有兴趣的话大家也可以加我的个人vx进行交流 点击这里

你可能感兴趣的:(前端)