git、github、gitee、gitlab的区别
<ul><li>git 是一种版本控制系统,是一个命令,是一种工具。</li>
<li>github 是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱。</li>
<li>gitlab 类似 github,一般用于在企业内搭建git私服,要自己搭环境。</li>
<li>gitee 即码云,是 oschina 免费给企业用的,不用自己搭建环境。</li>
<li>git-ce 是社区版,gitlab-ee是企业版,收费版。</li>
<li>参考链接1:https://blog.csdn.net/m0_46080566/article/details/111194608</li>
<li>参考链接2:https://www.zhihu.com/question/478022295</li>
<li>----------------------------------------------------------------------------------------------------</li>
<li>Git中版本库的理解</li>
<li>什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。</li>
<li>创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录</li>
<li>通过git init命令把这个目录变成Git可以管理的仓库</li>
<li>
<p>瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录</p>
</li>
<li>
<p>这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了</p>
</li>
<li>
<p>如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见</p>
</li>
<li>所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。</li>
<li>版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。</li>
<li>而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。</li>
<li>Git中分支的理解</li>
<li>
<p>分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。</p>
</li>
<li>
<p>如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!</p>
</li>
<li>
<p>分支策略</p>
</li>
<li>
<p>在实际开发中,我们应该按照几个基本原则进行分支管理:</p>
</li>
<li>
<p>首先, master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;</p>
</li>
<li>
<p>那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;</p>
<p> </p>
</li>
<li>
<p>你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。</p>
<p> </p>
</li>
<li>
<p>所以,团队合作的分支看起来就像这样:</p>
</li>
<li><img src="https://img2020.cnblogs.com/blog/2662402/202112/2662402-20211216150719805-1303073112.png" alt="" loading="lazy"></li>
<li></li>
<li>一个本地库能不能既关联GitHub,又关联Gitee呢?
<p> </p>
</li>
<li>
<p>答案是肯定的,因为git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。</p>
</li>
<li>使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。</li>
</ul>
<div class="notranslate" style="all: initial"> </div>
<div class="notranslate" style="all: initial"> </div>
<div class="notranslate" style="all: initial"> </div><br><br>
来源:https://www.cnblogs.com/subtlman/p/15659395.html
頁:
[1]