随笔分类
Git
身为一名程序员,不会代码版本管理怎么能呢!
且不仅限于代码,你可以把你想上传的东西皆可进行版本管理(如学习笔记等)
概述
饭桶
Git和Svn一样,都是版本控制工具
svn:集中管理方式
Git:分布式版本管理工具,无需中央服务器,每个人的电脑都是完整的版本库,都有一个本地仓库,如果不需要交换代码,便不需要远程仓库,本地便可以实现闭环,实现commit
但实际项目开发时需要有一个远程的共享版本库,用于协作交换版本
概念区分:
本地仓库:.git
工作区:包含本地仓库那个目录
暂存区:中间仓库
远程仓库
不得不说,git的设计理念还是蛮清新的
==SSH==
Security Shell 安全外壳协议
推荐使用基于密钥的验证方式
推荐push本地仓库的方式
SSH的推送需要设置公钥
-
创建SSH密钥 --利用rsa算法
ssh-keygen -t rsa
在用户家目录下会生成 .ssh文件夹
id_rsa:私钥 --不可泄露
id_rsa.pub:公钥 --须告知服务器
-
克隆远程仓库
git clone git@github.com:tiandankanfeng/repoHttps.git
-
修改,再提交即可
==Https==
安全套接字超文本传输协议
推送需要账户和密码
创建Local Repository
本地仓库创建后,默认有一个master分支
git init
为了简便,可以去使用==乌龟TortoiseGit==
stage:暂存区
Repo-browser:查看仓库里的分支及其文件
git分支与合并图示:
分支作用:
- 本地多副本进行保存于修改,平行线相互之间不影响
- 分支与分支之间隔离,不合并,不冲突
常见冲突:
-
修改再提交的本地仓库不是最新的,引发冲突(不可能直接去覆盖服务器上的)
解决方法:先pull下来,再手动来解决冲突(相关文件里面有符号的提示...)
其实搭建个私有git服务器还是蛮好的,隐秘和便于管理
如果嫌麻烦的话,可以利用docker来安装gitlab
github,gitee,gitlab都是基于git实现的
gitlab有兴趣的可以自己去实现下~~