iOS学习之git的使用

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

  • Git相比SVN,CVS,最大的特点也是优点在于提供分布式的代码管理。
  • 分支代码只有一份!log在本地!合并代码更加方便!更加安全!目录更加简洁!

基础命令;

sudo -s   获取绝对用户权限

cd xxx    进入xxx目录

ls (-a/-A)   显示当前路径下所有文件(隐藏的)

pwd       显示当前绝对路径

mkdir  xxx   创建文件夹xxx

man xxx     查看xxx命令手册

然后介绍下Git基础命令的含义;

clone   克隆远程仓库

init       初始化仓库

remote 连接远程仓库

pull      从远程仓库下拉获取新数据

push    将本地仓库新增或修改文件上传到远程仓库

add     添加文件或者修改文件,commit以及push之前使用

log      当前仓库提交过的日志信息

status  当前仓库版本状态

commit 提交到当前仓库中

branch 分支命令,相关增删查操作

checkout 使用远程仓库最后一个版本完全覆盖当前仓库内容/选择分支branch

diff      对比版本内容

merge   合并版本内容

Git 安装

  1. 安装homebrew,然后通过homebrew安装Git

终端输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. 通过Homebrew安装Git

终端输入 $ brew install git

公钥的获取与使用

  1. 生成公钥:

终端输入 $ ssh-keygen

  • 中间会让你输入生成目录,点回车默认就行。
  • 会让你输入你自己的密钥,输入的得记住以后会用到(最好跟开机密码一样,不然会忘)

  1. 获得公钥:
  1. 先cd 到存放公钥的目录

终端输入 $ ~/.ssh

  1. 获取公钥

终端输入 $ cat ~/.ssh/id_rsa.pub

公钥在github上的使用:

  1. 进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的id_rsa.pub 里的key。 
  2. 验证是否成功:

终端输入 $ ssh -T [email protected]

如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github



Git的使用(基于collectionViewsample工程示范)

  1. 先定位到你想要的文件位置(就是放着你工程的那个的目录)

终端输入 $ cd /user/mac/Desktop/objc副本/collectionSample

  1. 用 git init 命令将这个目录变成可以使用git管理的仓库

终端输入 $ git init

运行:

2.将所需要的工程加入git中

终端输入 $ git add xxxx

(我的文件夹有两样东西所以加了两次)

3.用命令git commit把文件提交到仓库

终端输入 $ git commit -m "wrote a CollectionViewSample file"

5.设置username和email,因为github每次commit都会记录他们

终端输入 $ git config --global user.name "your name"

$ git config --global user.email [email protected]

当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中

6.如果不想每次连接远程仓库都输入密码的话,输入如下命令

终端输入  $ git credential-osxkeychain

7.在github创建项目

登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。

Repository name填入     ,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库

8. 本地连接到github上去

终端输入  $ git remote add origin [email protected](github帐号名/Repository name.git

9.推送本地仓库至远程仓库

终端输入  $ git push -u origin master

到此新项目上传完成。



Git常见错误

1.如果输入$ Git remote add origin [email protected]:github帐号名)/gitdemo(项目名).git

提示出错信息:fatal: remote origin already exists.

  解决办法如下:

1、先输入 $ git remote rm origin

2、再输入 $ git remote add origin [email protected]:github帐号名)/gitdemo(项目名).git

就不会报错了!

2.如果输入$ ssh -T [email protected]

出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。

解决办法如下:

  1. 先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。

3.如果输入$ git push origin master

  1. 提示出错信息:error:failed to push som refs to .......

解决办法如下:

1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来

2、再输入$ git push origin master

  1. 如果出现报错 fatal: Couldn‘t find remote ref master或者fatal: ‘origin‘ does not appear to be a git repository以及fatal: Could not read from remote repository.

则需要重新输入$ git remote add origin

时间: 2024-10-14 23:05:31

iOS学习之git的使用的相关文章

iOS 学习 - 26 git 版本迁移

1.在新的地址添加一个用户,并创建一个文件 打开新地址 ssh 用户名@ ip 密码:xxxx sudo adduser asamu 连敲三次 enter 之后输入 n, 表示不要密码,下面填写一些详细信息(选填),输入 y 继续? su asamu 切换用户, cd /home 可以看到用户文件夹已建好   2.添加 ssh key 到 root 用户. ssh 里面 1).创建 .ssh/authorized_keys cd /home/git mkdir .ssh chmod 700 .s

2015最新iOS学习线路图

iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置的众多技术和功能让 Apple设备始终保持着遥遥领先的地位. iOS学习路线:http://www.mobiletrain.org/page/ios.html 课程分  类 课程模块 模块介绍 课程内容 Part1C语言 C语言和Objective-C语言 C语言 Mac系统及常用工具.进制:C数据

iOS学习资源个人整理

........iOS9 整理中......^_^ ...... 视频: https://github.com/x140yu/Developing_iOS_8_Apps_With_Swift - git  iOS8 和 Swift https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099 -->>  iOS8 和 Swift 课程 https://developer.apple.com/devcente

iOS学习资源收集

https://github.com/Tim9Liu9/TimLiu-iOS 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.com/search 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 gif动画 其他动画 网络相关 网络连接 图像获取 网络

IOS学习之——地图2 跟踪用户位置变化

欢迎转载,转载请注明出处 本文地址:http://blog.csdn.net/zhenggaoxing/article/details/42707685 综述 mapkit提供了跟踪用户位置和方向变化的API,所以我们这里不用自定编辑定位信息,交给系统来搞. 添加framework 实现授权获取位置信息 在iOS8中,没有用户授权程序是无法获取定位信息的,所以我们需要在info.plist上添加两个键值: NSLocationAlwaysUsageDescription NSLocationWh

IOS学习之——导航2 模态的原理和实现

什么是模态? 这是个问题,什么是模态呢?简单的说,就是你在旅游,突然老板来电话了找你解决技术问题,很急.所以你必须先搞定这个电话,然后才能接着旅游. 又或者你要看视频,网站弹出如下窗口,你必须安装软件才能接着看-- 所以模态,是一种状态,你必须先解决掉这个状态,才能继续下去. 实现模态 在IOS中,模态的应用可以是点击注册页,然后注册完成回到原来页面 通过storyboard获取对象 storyboardID的定义如下: // An identifier string that uniquely

iOS学习笔记之UITableViewController&UITableView

iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论文,因此需要继续思考新的算法.这是一件挺痛苦的事情,特别是在很难找到与自己研究方向相关的文献的时候.也许网格序列水印这个课题本身的研究意义就是有待考证的.尽管如此,还是要努力的思考下去.由于实验室的原因,iOS的学习进度明显受到影响,加之整理文档本身是一件耗费时间和精力的事情,因此才这么久没有写笔记了. M

Git学习 -- 自定义Git

忽略特殊文件 在工作区创建.gitignore文件,编写内容 # Windows: Thumbs.db ehthumbs.db Desktop.ini # Python: 忽略Python编译产生的.pyc..pyo.dist等文件或目录 *.py[cod] *.so *.egg *.egg-info dist build # My configurations: db.ini deploy_key_rsa 然后add和commit该文件 此后当工作区出现.gitignore中类型文件时,git

iOS 学习资料整理

视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Application Development 该课程的讲师 Paul Hegarty 是斯坦福大学软件工程学教授, 视频内容讲解得深入, 权威, 深受好评 Advanced iPhone Development - Fall