乱我心者贝者 發表於 2020-5-14 09:18:00

Git的基本使用与Gitee仓库的搭建

<h1 id="git学习">Git学习</h1>
<h2 id="版本控制">版本控制</h2>
<p>简单来说就是用于管理多人协同开发项目的技术<br>
多人开发必须要使用版本控制,提高效率</p>
<h2 id="常见版本控制工具">常见版本控制工具</h2>
<p>Git</p>
<p>SVN(Subversion)</p>
<p>VSS</p>
<p>TFS</p>
<p>Visual Studio Online</p>
<h2 id="版本控制分类">版本控制分类</h2>
<ol>
<li>
<p>本地版本控制<br>
记录文件每次的更新,对每个版本做一个快照,如RCS</p>
</li>
<li>
<p>集中式版本控制<br>
所有版本数据保存在集中服务器上,如SVN<br>
为了保证安全,服务器需要定期备份<br>
服务器与开发者多对一,多个人提交代码冲突时候需要解决冲突</p>
</li>
<li>
<p>分布式版本控制<br>
每个人都有全部的代码,会有安全隐患<br>
每个人的电脑都是一个完整版本库。可在本地离线提交本地版本,联网后进行push<br>
<strong>Git是目前世界上最先进的分布式版本控制系统</strong></p>
</li>
</ol>
<h2 id="git历史">Git历史</h2>
<p>Linux内核开发项目组在02年~05年启用BitKeeper进行管理和维护代码,由于开发者尝试对BitKeeper进行破解,05年结束赞助。<br>
Linus用两周时间开发了Git系统,是免费开源的,为了辅助Linux内核开发</p>
<h2 id="git安装">Git安装</h2>
<ul>
<li>安装</li>
</ul>
<ol>
<li>Git官网:https://git-scm.com/</li>
<li>阿里镜像:https://npm.taobao.org/mirrors/git-for-windows/</li>
</ol>
<ul>
<li>卸载<br>
一键卸载+清除环境变量</li>
</ul>
<h2 id="win下安装git">win下安装git</h2>
<ol>
<li>
<p>Git Bash -&gt;接近Linux操作,推荐</p>
</li>
<li>
<p>Git CMD-&gt;Windows风格</p>
</li>
<li>
<p>Git GUI-&gt;图形化客户端,不建议</p>
</li>
</ol>
<h2 id="git必要配置">Git必要配置</h2>
<p>所有配置文件其实都保存在本地<br>
首先配置账号<br>
<code>git config --global user.email "用户名"</code><br>
<code>git config --global user.email 邮箱地址</code></p>
<h2 id="git理论核心重要">Git理论核心(重要)</h2>
<img src="https://img2020.cnblogs.com/blog/1976340/202005/1976340-20200514092115883-1991662503.png">
<ul>
<li>
<p>本地工作区:</p>
<p>工作目录(Working Directory)</p>
<p>暂存区(Stage/Index)</p>
<p>资源库(Repository/Git Directory)</p>
</li>
<li>
<p>远程工作区:</p>
<p>git仓库(Remote Directory)</p>
</li>
</ul>
<p>上传:git add . -&gt; git commit -&gt; git push</p>
<p>下载:git pull -&gt; git reset -&gt; git checkout</p>
<p>工作区:平时存放代码的地方,下面有.git隐藏文件</p>
<p>暂存区:一个文件,用于存放改动</p>
<p>仓库区:安全存放数据的位置,有提交到所有版本的数据,HEAD指向最新放入仓库的版本</p>
<p>远程仓库:托管代码的服务器</p>
<p>PS:能直接接触到的只有工作区和远程仓库</p>
<h2 id="git项目的搭建">Git项目的搭建</h2>
<p>两种方法;</p>
<ol>
<li>
<p>本地创建全新仓库</p>
<p><code>git init</code></p>
</li>
<li>
<p>克隆远程仓库</p>
<p><code>git clone </code></p>
<p>clone项目注意查看版权信息,有些项目用于商用则要收费</p>
</li>
</ol>
<p>这里需要注意,mac系统下每个文件夹中默认有一个名为".DS_Store“的文件,目的在于存储目录下文件的图标颜色和排版等信息,类似Windows 下的 desktop.ini。为了避免多人开发造成冲突</p>
<ul>
<li>
<p>在硬盘根目录上执行,以删除mac上所有.DS_Stroe</p>
<p><code>find ~ -name ".DS_Store" -delete</code></p>
</li>
<li>
<p>禁止生成</p>
<p><code>defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE</code></p>
</li>
<li>
<p>恢复生成</p>
<p><code>defaults delete com.apple.desktopservices DSDontWriteNetworkStores</code></p>
</li>
</ul>
<p>忽略文件配置</p>
<p>*****补充,第九集</p>
<h2 id="使用码云">使用码云</h2>
<p>github有墙,在国内多使用gitee,在公司有时候会搭建自己的gitlab服务,这是三种主流方式</p>
<ol>
<li>
<p>完善个人信息,可以作为个人找工作的门面</p>
</li>
<li>
<p>设置本机绑定SSH公钥,实现免密登录(该部分单独介绍)</p>
</li>
<li>
<p>新建一个码云仓库,若公开需要选择开源许可证</p>
</li>
<li>
<p>把仓库clone到本地文件夹,即绑定成功</p>
</li>
</ol>
<h2 id="ssh公钥配置方法">SSH公钥配置方法</h2>
<ol>
<li>
<p>cd到.ssh目录</p>
<p>.ssh目录位置:</p>
<ul>
<li>
<p>Win:C:\Users\Administrator.ssh</p>
</li>
<li>
<p>Mac:~/.ssh</p>
</li>
<li>
<p>Linux:~/.ssh         //没有的话自己mkdir</p>
</li>
</ul>
</li>
<li>
<p><code>ssh-keygen -t rsa</code>生成公钥</p>
<p>-t 后跟参数表示加密算法,执行后在文件夹下会生成两个文件</p>
<ul>
<li>
<p><strong>id_rsa.pub</strong>是公钥</p>
</li>
<li>
<p><strong>id_rsa</strong>是私钥</p>
</li>
</ul>
<p>将pub文件中的内容添加到页面的公钥框内,该内容会包括git的用户名邮箱设置</p>
</li>
</ol>
<h2 id="使用jetbrains家ide进行集成">使用Jetbrains家IDE进行集成</h2>
<p>之前已将仓库和本地目录进行了绑定</p>
<p>有两种方法集成IDE</p>
<ol>
<li>新建工程,工程目录需要和git目录重合</li>
<li>新建工程后,将本地目录的所有文件(包括.git)一同拷贝进新工程目录</li>
</ol>
<p>注意此时IDE的变化:</p>
<ul>
<li>
<p>工程内会自动生成".gitignore"文件</p>
</li>
<li>
<p>文件会出现颜色,文件会变成红色(修改),绿色(已提交)</p>
</li>
<li>
<p>左下角出现Version Control,可追溯版本变化</p>
</li>
<li>
<p>右上角出现Git快捷键,可以傻瓜式add和commit</p>
</li>
<li>
<p>右键已修改的文件,git选栏下有傻瓜操作,add和commit</p>
</li>
</ul>
<p>add,commit和push也都可以在IDE自带terminal下操作,使用右上角快捷傻瓜操作,commit的时候把弹出窗右侧的选中全取消,可以快速提交。</p>
<h2 id="分支">分支</h2>
<p>命名:master-&gt;主分支,dev-&gt;开发分支</p>
<p>多个分支若并行,即同时存在多个版本,就不会有代码冲突</p>
<ul>
<li>列出所有分支</li>
</ul>
<p><code>git branch</code></p>
<ul>
<li>列出所有远程仓库分支</li>
</ul>
<p><code>git branch -r</code></p>
<ul>
<li>新建分支,但停留在当前分支</li>
</ul>
<p><code>git branch []</code></p>
<ul>
<li>新建分支并跳转</li>
</ul>
<p><code>git checkout -b []</code></p>
<p><code>或m先branch再checkout</code></p>
<ul>
<li>删除分支</li>
</ul>
<p><code>git branch -d []</code></p>
<ul>
<li>删除远程分支</li>
</ul>
<p><code>git branch -dr []</code></p>
<ul>
<li>合并到当前分支(两种区别需要另述)</li>
</ul>
<p><code>git merge branch []</code></p>
<p><code>git rebase branch []</code></p>
<p>在定制过iTerm2之后,可以直接在本地仓库目录下显示分支,十分方便。</p>
<p>到此基本使用已经足够,关于仓库的分支跳转等,之后会另写一篇进行补充。</p><br><br>
来源:https://www.cnblogs.com/tzbubble/p/12886410.html
頁: [1]
查看完整版本: Git的基本使用与Gitee仓库的搭建