关于Git基本的那些事(程序员干啥都需要的家伙事)持续更新中...

目录

git的前世今生

        git的安装

        git分支

        git基本操作

        git常见问题(不断更新)

        总结


        git的前世今生

        在讲操作之前我们先来认识一下什么叫gitgit又是干什么用的和gay又有什么区别?

        在很久以前人们没有git的出现时,人们在修改和编程时总是需要小心翼翼地,生怕不小心把这份自己辛辛苦苦编写出来的文件整坏了,这时候重置起来又会很复杂。这时候是你也会想到,我们备份不就好了。确实,git的发明人就是想到了。但是每个版本都有每个版本的修改,git就是帮你记住你的每个版本。在你把一切都搞砸前,帮你记住上一次的样子。当你搞砸了之后让你有个后悔药吃。git就是你的版本托管器,在这个理念的基础上又诞生了很多托管的平台。就是你可以把这些代码托管到别人的平台,然后你通过git来连接,节省你本地的一些空间。比较出名的有著名的程序员聚集地GitHub,以及Gitee等。这节内容我们以国内的托管平台Coding为例子,为什么不用国外的呢?因为国内的比较快。

        git的安装

        在了解git之前我们肯定得有啊!接下来教你安装git

        打开官网地址:Git - Downloads,选择你的系统以及系统版本下载安装。   

         其余的全部默认不动,一路Next下去,然后结束安装就可以正常使用了。

        git分支

        首先来认识分支,什么是分支呢?其实也很好理解,你想想如果你要上线一个项目肯定会先经过测试,不会直接上线吧,万一搞砸了,人家线上那么多人都给你一个人卡住了怎么办?你线上的环境这时候就需要一个它自己不受你测试代码影响的分支,也就是我们平时常用的master分支,这个分支一般就是我们在线上已经正式运行的分支了。然后我们不断修改完善的分支一般就是dev分支了,这个分支我们一般用来修改代码上传。然后确认代码无误后没啥问题后,再合并到master分支。当然也有个人分支,我们这里就不赘述了。

        git基本操作

 git clone 你的克隆链接

        这个操作可以说是最最最基本的了,这个是你当你电脑里没有项目时,想从托管平台上拉时,必备操作。我们找到我们自己想放项目的文件夹,右键看到Git Bash Here,点击。这时候就能看到这样一个小框。

        

         这时候就可以在里面输入命令啦,这个时候比如我们的Coding平台为例。

        点击这个克隆就会出现一个链接这时候就放到我们的git clone命令的后面,像上面那种格式。这时候可能会要你的在Coding平台上的账号密码,输入即可这时候就会成功拉取了。

git checkout 分支名

        拉下来时一般都是默认的master分支,我们刚刚才说万一整坏了可难办了,所以这个时候就先用这个命令来切换到dev分支,我们在这个上面造作。

git pull

        在我们造作代码前,先确保自己的代码是最新的,不然等下代码冲突了咋整,你把和别人同时改,git是听你的还是听他的,所以每次编写代码之前先更新你的代码。

        在线上服务器拉项目时一定要查看分支是否干净,免得有人动了线上的代码,导致冲突

git status //查看分支干净情况
git checkout . //清楚分支至最新

        在你一番造作之后,你觉得自己的Bug写的非常好,可以上传了,可以推到远程仓库祸祸别人了,这时候我们又该咋整呢?

git add .

        把所有文件先添加到本地仓库,你也可以推送一点点,但是建议的话就是用这个命令全部推,这样确保你不会出纰漏。

git commit -m "你想说的话"

        添加到本地仓库后,告诉他们我这次提交就是来给大家添乱的,使用commit命令提交到本地仓库。(千万注意冒号是英文的!!!

git push

        最后的最后推送到远程仓库,push就完事了。其实这样一个流程就已经走完了。但是避免你闯祸了想不为人知怎么办?教你几个你肯定会用到的命令(我也经常用嘿嘿)

git log

        用完后会出来之前的版本号像这样,红框里的就是版本号

        查看之前的版本号,这个有什么用呢?往下看

git reset --hard HEAD^ //回退到上个版本
git reset --hard 版本号前几个数全部输完也行 //回退到指定版本

        这样子就可以坐时光机回滚到你想要的那个版本了,但是本地回滚后记得要推到远程仓库,让远程仓库也进行回滚,但是你正常的push远程仓库肯定不答应啊所以看接下来的命令,我们强推它。

git push --force

        这个只是回滚操作,怎么让你的坏事做的无声无息无人知晓呢?这就不得不说接下来这个操作了,删除版本号

git rebase -i 你想毁尸灭迹的版本号

        输入这个命令后,你会进入一个新的窗口,用上下左右键移到pick处按下i或者s会进入编辑模式,这个时候把pick删去改成drop,或者直接把这行删了按Esc输入:wq保存退出,你再使用git log命令会发现那个版本已经不存在了

         这个时候正常push我们远程仓库肯定又不答应啊,还会报个错来反抗下你,跟你说

        Your branch and 'origin/master' have diverged, and have 1 and 1 different commits each, respectively

        翻译:你的分支和主流分支已经发生分歧,分别有一个不同的提交

        没关系我们用git push -f origin master推送到远程仓库即可,但是说归说,使用还是不建议的,除非是那种你一个人玩的分支。如果你删除到一半后悔了,可以使用如下命令

git rebase --abort //撤销这次删除

        git常见问题(不断更新)

        1.git问你为啥要提交合并

        Please enter a commit message to explain why this merge is necessary.

        翻译:请输入提交消息来解释为什么这种合并是必要的

        如果你想说为啥的话和就按字母i或者s进入编辑模式直接修改上面那段话,然后再按Esc输入:wq进行保存,如果没啥好说的就直接按Esc输入:wq进行保存。

        2.git本地代码和远程代码冲突时

        error: Your local changes to the following files would be overwritten by merge:
        application/index/controller/MemberCenter.php
        Please commit your changes or stash them before you merge.

        翻译:

        错误:您对以下文件的本地更改将被“合并”覆盖:

        application/index/controller/MemberCenter.php

        请在合并前提交或隐藏更改。

        这个时候直接上三板斧(如果你想保留本地更改的话)

git stash 
git pull
git stash pop

        git stash这个操作呢就类似于你把自己修改到的代码部分隐藏起来,然后再git pull操作成功将自己的代码和线上同步,然后这个时候git stash pop进行一个取消隐藏操作,然后接下来你就常规操作上传代码就好啦

        如果不想保留本地更改的就更简单了,用到我们上面做坏事的方法,回退到上个版本,然后再把代码拉下来

git reset --hard

        遇到啥问题记得评论区留言哦

        总结

        gitgay一点关系都没有,只不过用gitgay(adj.)

        各位看官老爷,收藏起来呗,万一以后用得到呢,再不行点个赞再走/(ㄒoㄒ)/~~

        (以上内容仅供学习参考,若有错误之处欢迎指正交流)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

第一天才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值