直接进入主题
❝Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. ❞
这是官网首页对Git的介绍,重点是两个关键词,开源就不说了,最重要的是一款「版本控制系统」 。至于说另外一个版本系统SVN,不用去管网上一大堆的区别,只需要知道一点,Git是分布式的,SVN则不是,其他的缺点等你用多了慢慢就能体会到了。
其实官网的这个介绍还是太专业了,讲人话就是Git是「多人协同」的「同步」工具。对于一个文件,可以多个人在不同的时间地点修改,然后进行一系列的操作对文件进行修改同步。
先来讲怎么「安装」
「windows」
https://git-scm.com/download/win 下载完后,「next大法好」 。再次友情提示,安装软件,非特殊情况下,「一律不推荐安装在c盘」。
「mac」
至于mac的话,不会吧不会吧,都快2202年来,不会还有人mba或者mbp上还不安装「homebrew」叭🐶🐶🐶。
不过官网上也确实是这样推荐的
无论哪个平台,打开终端,输入git version
,如果你能看到如下,那说明安装成功了。
再来讲Git的基本知识
本地指的是本地PC,origin是指「远端自己的仓库」,remote是指「远端别人的仓库」。remote中一般就是常说的远程仓库,存放着大家共同修改的文件。至于里面的一些操作下面会讲。
首先创建一个「远程自己」的仓库,在gitee上创建即可
注意「选择的是开源」,私有的话就是只能你自己访问了,创建完之后在gitee上就能看到了。接下来要做的就是把「远程自己」的仓库克隆或者拉取到本地,这里先使用命令行。
git clone [仓库地址,一般是采用ssh,但是https也行]
通过.git目录「就可以知道该目录所在的文件夹是一个」git仓库
❝所有有关git的操作都是需要在git仓库下面执行,不然就会有fatal: not a git repository (or any of the parent directories): .git
这样的提示
❞
add file firstly
,然后git add
对于add而言
git比较人性化的一点就是当你打错的时候会提醒你接近的正确的打法,或者哪里出错了。然后使用git status
来查看状态,这个命令在命令行中比较常用,这里就不再单独拎出来说。
使用git rm --cached <file>
「撤回提交」:
撤回提交后,再次使用status,可以发现文件已经变成untraced未被git追踪的状态,接下来add两个文件
所以以后记得,所以以后记得,「commit一定要记得带message」,对应的命令是git commit -m 'message'
可以发现Permission denied
「没有权限」,这是因为gitee没有认识我们,所以需要「生成ssh公钥并上传gitee」。
「生成公钥」
首先看电脑中的.ssh文件夹(无论是windows还是mac默认都会生成在这个文件夹下,都是在用户目录下)里有没有id_rsa和id_rsa.pub文件。
得到生成的公钥后,进入gitee设置,让gitee认识这个公钥
接着再进行push操作试试
可以看到已经能成功push上远程自己的仓库,这时候再去gitee上面看看,码云上已经有了两个文件,并且后面跟着的就是commit时候写的message。
当然,我们push到远程别人的仓库的时候肯定是没有权限的,因为根本不认识我们,这时候就需要后面讲的fork和mr了。
复制完地址后「clone到本地」
首先创建一个java文件,add commit push,这里的push也是只能push到「自己远程的仓库」 ,而组织的远程仓库是没有的。
要想远程的仓库也能有我们修改或者增加的文件,需要发起「merge request。GitLab上称为merge reques,GitHub或者Gitee上称为pull reques」。至于有没有区别,反正我使用起来没啥区别。 「首先来看看本地的pull request」 点我看gif图 添加对应的信息后就能够提交mr了,然后需要远程仓库的人进行审核,一般公司都会有规定的人来审核,看代码有没有错误,写得好不会,总的来说就是看能不能合入。 「再来看看远程仓库的pull request」
可以看到远程通过一系列的操作,成功的合入了代码,这些远程仓库中也有了修改后的代码,并且在自己的gitee上面会收到合入成功的信息。
「创作不易,如果对你有帮助,欢迎点赞,收藏和分享啦!」
「下面是个人公众号,有兴趣的可以关注一下,说不定就是你的宝藏公众号哦!!!」