Git之第三方托管oschina

一.git 简介

1.Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2.Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
3.Git 是由“Linux之父” Linus Torvalds 创建的。因为他发现找不到满意的方案来管理 Linux Kernel 联合开发的版本控制,就自己写了 Git。

 

说到优势,那么自然是相对与SVN而言的

  1. 版本库本地化,支持离线提交,相对独立不影响协同开发。每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。例如,开发者认为自己提交的代码有问题?没关系,因为版本库是自己的,回滚历史、反复提交、归并分支并不会影响到其他开发者。
  2. 更少的“仓库污染”。git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像SVN那样在每个目录下都产生.svn目录。
  3. 把内容按元数据方式存储,完整克隆版本库。所有版本信息位于.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签、分支、版本记录等。
  4. 支持快速切换分支方便合并,比较合并性能好。在同一目录下即可切换不同的分支,方便合并,且合并文件速度比SVN快。
  5. 分布式版本库,无单点故障,内容完整性好。内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

 

二 .git托管到oschina

开源中国社区官方网站

https://git.oschina.net/

  • 开源中国社区成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的、快捷更新的用来检索开源软件以及交流使用开源经验的平台
  • 目前国内有很多公司会将公司的项目部署在 OSChina

与 GitHUB 的对比

  1. 服务器在国内,速度更快
  2. 免费账户同样可以建立 私有 项目,而 GitHUB 上要建立私有项目必须 付费

使用

  • 注册账号

    • 建议不要使用QQ邮箱,使用QQ邮箱可能会收不到验证邮件
  • 添加 SSH 公钥,进入终端,并输入以下命令

    • 或查看开源中国帮助文档地址:https://git.oschina.net/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开头,你的邮箱结尾, 拷贝时不能多一个空格,也不能少一个空格,格式等必须和生成的公钥一致
    • https://git.oschina.net/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方式:https://git.oschina.net/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 就能添加成功

转载于:https://www.cnblogs.com/hoobey/p/7078261.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

局域网抢答器_基于童芯派的抢答器V1.0

[童心制物Makeblock]的新产品"童芯派"发布已两月有余,刚一发布就第一时间入手三个含扩展板的套装,Makeblock的产品我还是很认可的,从mbot,ranger到程小奔,从神经元,光环版到童芯派,东…

Spring-boot(一)

1.1 spring介绍 spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。 你…

下拉框_教你封装 Element Tree 树状下拉框

在日常项目开发中,树状下拉框的需求还是比较常见的,但是element并没有这种组件以供使用。在这里,小编就基于element如何封装一个树状下拉框做个详细的介绍。通过这篇文章,你可以了解学习到一个树状下拉框组件是如何一步一步封装成…

java异常处理,需要考虑的流程

异常处理,我们需要主意的事儿 问3个问题: 什么出了错?——异常类型 在哪出的错?——堆栈跟踪 为什么出错?——异常信息 把上面的3个问题回答好,在异常抛出后能快速对问题进行 定性、定位、定义。 要想让我们…

字体单独设置样式_Glyphs 官方教程 | 字体命名

​​字体名称是很重要的,它决定了字体菜单中的分组和顺序,而这直接影响你的字体将如何呈现给用户。在一款字体中,字体名称被存储在六个不同的地方,这一点已经相当困难;或者实际上还会有更多的地方,这就更复…

protractor端到端测试简介

安装依赖 protractornpm install -g protractor karma-jasminenpm install --save-dev karma-jasmine javaJDK http://blog.csdn.net/bingiser/article/details/53375282webdriver-managerwebdriver-manager update 文件 test.js 测试文件protractor_conf.js protractor配置文件…

arm linux 开机电路_ARM Linux启动过程分析

摘要:嵌入式Linux的可移植性使得我们可以在各种电子产品上看到它的身影。对于不同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例,详细分析了系统上电后bootloader的执行流程及ARM Linux的启动过程。关键词:AR…

委外订单_ERP软件教程:金蝶ERP的委外加工业务流程(一)

ERP软件教程:金蝶ERP的委外加工业务流程关注我,我将定期分享更多的ERP解决方案转发关注并私信我,了解更多的解决方案及操作方法哦欢迎大家随时咨询关于金蝶ERP的任何问题!一、应用软件版本:金蝶KIS旗舰版6.0二、应用场…

1+2+3+n;1*1*2*n

#123...100# sum 0# n 1# while n < 101:# sum sum n# n 1# print(sum)#123...100# sum 0# for n in range(1,101):# sum sum n# print(sum)#1*1*2*3..*10# sum 1# n 1# while n < 11:# sum sum*n# n 1# print(sum)转载于:https://www.…

python中popen的用法_python中的subprocess.Popen()使用

从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去&#xff0c;还可以得到子进程的返回值。subprocess意在替代其他几个老的模块或者函数&#xff0c;比如&#xff1a;os.system os.spawn* os.popen* popen2.* commands.*一、…

盒子在页面内居中

在布局页面的时候&#xff0c;有时候会遇到让一个盒子水平和垂直方向上都居中,如果手动调整盒子的位置&#xff0c;未免太复杂了一些&#xff0c;下面介绍两种方法&#xff0c;很轻松就能做到盒子的水平和垂直方向的居中&#xff1a; 定位的盒子居中 第一种方法&#xff1a;需要…

python自定义事件event的含义_python使用多线程与自定义event更新tinter的内容

开启一个线程&#xff0c;监听命令行的输入&#xff0c;得到字符串后向tkinter发送<>事件。另一方面&#xff0c;tkinter窗口的listbox绑定了<>事件&#xff0c;并把字符串加入到列表中显示出来。关闭窗口后&#xff0c;不再监听命令行的输入&#xff0c;也不再发送…