git教程实在太多了,然而我刚毕业的时候看的都是一脸懵逼,包括廖雪峰老师的,完全不知道说的是啥,当然也因为我理解能力弱吧。
这里列出了最常用的几个命令并标明使用场景,是工作以来本人使用频次最高的或者说基本用这些就完全够用了(单纯的使用者而不是搭建者,不包含安装搭gitlab指南)
按使用率划分
T0:git pull/git add ./git commit -m ''/git push
T0的命令是一套连,顺序是pull,add,commit,push
"git pull":当前分支远程库最新代码拉到本地,pull后可以加其他分支名,则拉其他分支的代码到当前分支本地(似乎相当于merge过来?)
"git add .":将文件内容添加到索引(将修改添加到暂存区),add .是添加全部,也可以把.换成指定文件
"git commit -m 'xxx'":把暂存区内容提交到本地库当前分支中,-m ''是用于直接添写本次提交内容的备注描述,如果不用-m则会跳出文件输入和保存,这样会快一些。另外还有"git commit --amend"可以把本次提交合入上次commit中
"git push":把本地库变更推送到远程库中,命令简单明了不做解释
以上就是在自己写完代码准备提交到远程分支时候的一套连,先pull是为了避免别人也推送代码到远程服务器和本地有冲突导致推送不上去,冲突需要在本地解决
T1:git diff/git log/git status/git checkout xxx/git merge xxx/git rebase
T1也是非常常用的命令了
"git diff":用于比较本地未加入暂存区的变更代码与老代码,在add之前使用,自己复查的时候可以使用
"git log":查看当前分支历史提交日志,包括提交人,时间,这个和后面要说的reset也有关,在log后加上-p可以看到每次提交前后的内容比对便于排查问题
"git status":查看本地代码库状态,如果有改动未add,会显示红色文件名,add后显示有多少个需要commit,或者没pull会显示落后多少commit等
"git checkout xxx":这个命令内容多一些。首先"git checkout ."可以清除当前所有未add的改动,"git checkout xxx",xxx是文件的时候清除指定文件的未add的改动,xxx是存在的分支的时候切换到该分支(前提是当前分支没有未处理完的内容,这个自己体会),"git checkout -b xxx"xxx是不存在分支,中间加-b可以新建分支,这个分支是从当前分支拉出去的,务必注意这一点,我曾经踩过这个坑(另外这个切出来的新分支是本地的,push的时候会提示一个新命令,用那个就可以推到远程了)。
"git merge xxx":把其他分支合并到当前分支中,该命令后需要解决冲突(如果有,解决冲突后先add再commit"),最后push。(有冲突时也建议使用"git merge --squash xxx",解决冲突后直接git commit避免分岔)
"git rebase":变基,通常多个分支协同开发时,如a分支和b分支,a分支先合入了主分支,此时b也完成准备合入,为了不产生冲突以及不会分岔,会先在b分支进行"git rebase 主分支",中间可能会中断,需要解决一些冲突,解决后"git rebase --continue"(处理完成)或"git rebase --skip"(跳过不处理)。如果发现问题先不想rebase了,执行"git rebase --abort"撤销操作。
T2:git blame xxx/git reset --hard xxx/git clone xxx/git stash/git branch
这些命令可能用的不多但是肯定都能在某个时候用上
"git blame xxx":xxx是文件,该命令是看这个文件中每一行是谁提交的,用来找到锅丢给谁
"git reset --hard xxx":当代码还没有push的时候,这条命令,可以让你有后悔的机会,代码合错了,或者写的东西都凉凉,这时候就需要本条命令配合一下git log了,先看log,找到一个比较老的版本,复制(就是一长串字符那个),然后用reset这个命令把xxx替换成刚复制的串,执行,就回到了那个版本,然后pull一下,就解决了代码不想要了的问题
"git clone xxx":一般教程都最先说这个,因为这个是克隆远程库到本地用的,也就是从没有到有,其实只有第一次要做这个,所以我放到了T2里,xxx就是项目地址
"git stash":用于把当前的改动放在隐藏区域,便于切换到其他分支(当有内容未add和commit可能不让切换)。"git stash list"可以看到所有隐藏区藏起来的内容版本,当你有不止一次用这个的时候就会很难受了,因为所有分支都用的一个隐藏区域。"git stash clear"破罐子破摔的时候可以用这个,老子不要你了老子重写,因为之前太乱忘记哪个隐藏改动对应哪个分支的时候这条命令可以让你选择从头来过。"git stash pop xxx"xxx用tab键可以呼出,然后选中你要的那个隐藏区,一半建议只隐藏一次,太多条真的会记不住的。这条命令善加利用,会让你在同一个项目多分支开发中如鱼得水,但是切记不要没有规划的用,不然会让你事倍功半。
"git branch":看到本地已经拉下来的分支,加个-a可以看到远程服务器上的全部分支,别人没push就看不到了。"git branch -D xxx"大写D是强制删除,小写d是普通删除,都是删除本地的,想删远程的追加一条"git push origin :xxx",xxx就是分支名
上面说到的文件,都是你在改动后,git status看到的那种格式哦、
只写了本人用到的,肯定不是完整的git命令见谅,暂时就想到这么多,个人最常用的肯定都有了,有问题及时告诉我,我偷偷更正
如果喜欢可以分享,记得带原地址哦
网友评论