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