一.git 简介
1.Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2.Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
3.Git 是由“Linux之父” Linus Torvalds 创建的。因为他发现找不到满意的方案来管理 Linux Kernel 联合开发的版本控制,就自己写了 Git。
说到优势,那么自然是相对与SVN而言的
- 版本库本地化,支持离线提交,相对独立不影响协同开发。每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。例如,开发者认为自己提交的代码有问题?没关系,因为版本库是自己的,回滚历史、反复提交、归并分支并不会影响到其他开发者。
- 更少的“仓库污染”。git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像SVN那样在每个目录下都产生.svn目录。
- 把内容按元数据方式存储,完整克隆版本库。所有版本信息位于.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签、分支、版本记录等。
- 支持快速切换分支方便合并,比较合并性能好。在同一目录下即可切换不同的分支,方便合并,且合并文件速度比SVN快。
- 分布式版本库,无单点故障,内容完整性好。内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
二 .git托管到oschina
开源中国社区官方网站
- 开源中国社区成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的、快捷更新的用来检索开源软件以及交流使用开源经验的平台
- 目前国内有很多公司会将公司的项目部署在
OSChina
与 GitHUB
的对比
- 服务器在国内,速度更快
- 免费账户同样可以建立
私有
项目,而GitHUB
上要建立私有项目必须付费
使用
- 注册账号
- 建议不要使用QQ邮箱,使用QQ邮箱可能会收不到验证邮件
- 添加 SSH 公钥,进入终端,并输入以下命令
- 或查看开源中国帮助文档地址:oschina/git-osc/wikis/帮助#ssh-keys
- 进入.ssh目录
# 切换目录,MAC中目录的第一个字符如果是 `.` 表示改文件夹是隐藏文件夹
$ cd ~/.ssh
#如果.ssh文件夹不存在,可以执行指令自行创建
$ mkdir ~/.ssh
# 查看当前目录文件
$ ls
- 生成 RSA 密钥对
$ ssh-keygen -t rsa -C "你的邮箱@xxx.com"
# 为了方便,全程回车即可(不用了输入ras文件名及密码)
- 查看公钥内容
$ cat ~/.ssh/id_rsa.pub
- 将公钥内容复制并粘贴至-oschina添加公钥
file:///Users/z/Library/Containers/com.tencent.qq/Data/Library/Application%20Support/QQ/Users/3229989970/QQ/Temp.db/8710E87E-FCBC-4C90-8F96-9379CD5155BA.png
- 注意:公钥内容以ssh-rsa开头,你的邮箱结尾, 拷贝时不能多一个空格,也不能少一个空格,格式等必须和生成的公钥一致
- profile/sshkeys
- 测试公钥
# 测试 SSH 连接
$ ssh -T git@git.oschina.net
# 终端提示 Welcome to Git@OSC, git昵称!` 说明连接成功
- 在oschina新建项目
- 克隆项目
配置好sshkey之后, 以后只需要拷贝ssh链接地址,然后利用git指令即可进行相关操作
$ git clone git@git.oschina.net:xxx/ProjectName.git
- 注意:oschina仓库对应多种地址,一个是通过http访问的地址,一个是通过ssh访问的地址这里使用ssh方式
- http方式:leaderlee/OC_Advanced_Prepares_Lessons.git
- ssh方式:git@git.oschina.net:leaderlee/OC_Advanced_Prepares_Lessons.git
- 添加
gitignore
# /Users/NJ-Lee/Desktop/gitignore-master/ 是保存 gitignore 的目录
$ cp /Users/NJ-Lee/Desktop/gitignore-master/Swift.gitignore .gitignore
$ git add .
$ git commit -m"添加gitignore"
$ git push
- 提示:
- 可以从
https://github.com/github/gitignore
获取最新版本的gitignore
文件 - 添加
.gitignore
文件之后,每次提交时不会将个人的项目设置信息(例如:末次打开的文件,调试断点等)提交到服务器,在团队开发中非常重要 - 如果未配置phrase在Xcode添加仓库时要选SSH Keys Passphrase 栏空着 然后add 就能添加成功
你们都是有经验的开发人员