上传源码至gitHub 详解 以及git安装教程及详解
来源:互联网 发布:深度linux deepinv15.3 编辑:程序博客网 时间:2024/06/03 20:51
(开始之前先安装git,具体方法这里讲的很清楚:http://git.oschina.net/progit/1-起步.html)
开始
首先我们新建一个工程,记得要勾选Create git repository on:
这说明使用Source Control,会默认在工程中创建git repository。然后工程新建完成后,会在右侧边栏看到这些信息,说明已经启用Source Control
如果没有使用Source Control,则是这样的:
现在我们已经在工程中启用了Source Control,这样就可以使用git来管理工程版本了
但是如果我们想对一个未启用git的工程加入git的功能怎么做呢?我们可以使用命令行来开启此功能,新建一个工程,不勾选Create git repository on,此时我们没有开启Source Control,然后我们手动创建git管理,如下图所示:
YiBantekiiMac-3:UseGit YiBan$ cd /Users/YiBan/Documents/iOS_Dev/ManualGitDemo
YiBantekiiMac-3:ManualGitDemo YiBan$ git init
Initialized empty Git repository in /Users/YiBan/Documents/iOS_Dev/ManualGitDemo/.git/
使用
git init
来初始化一个空的git仓库,现在使用ls-la命令查看目录下的所有文件(包含隐藏文件)
total 16
drwxr-xr-x 7 YiBan staff 238 5 12 16:10 .
drwxr-xr-x 52 YiBan staff 1768 5 12 16:06 ..
-rw-r--r--@ 1 YiBan staff 6148 5 12 16:10 .DS_Store
drwxr-xr-x 9 YiBan staff 306 5 12 16:06 .git
drwxr-xr-x 12 YiBan staff 408 5 12 16:06 ManualGitDemo
drwxr-xr-x 5 YiBan staff 170 5 12 16:06 ManualGitDemo.xcodeproj
drwxr-xr-x 5 YiBan staff 170 5 12 16:06 ManualGitDemoTests
此时我们看到除了三个文件之外还有两个隐藏文件,.DS_Store和.git,.DS_Store是由OS X生成的文件,包含了文件夹中的位置属性,.git则是启用了Source Control自动生成的目录,然后使用git status查看当前状态:
YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master
Initial commit
Untracked files:
(use
"git add <file>..."
to include in what will be committed)
.DS_Store
ManualGitDemo.xcodeproj/
ManualGitDemo/
ManualGitDemoTests/
nothing added to commit but untracked files present (use
"git add"
to track)
说明初始化成功了,显示出了未被追踪的文件。不过我们并不希望把.DS_Store也加入的git中,因为那文件对我们没有任何用处,我们可以忽略它,具体做法是:新建一个文件,命名为.gitignore,然后使用文本编辑器输入以下信息:
# Xcode
<br>.DS_Store
<br>*/build/*<br>
*.pbxuser
!
default
.pbxuser
*.mode1v3
!
default
.mode1v3
*.mode2v3
!
default
.mode2v3
*.perspectivev3
!
default
.perspectivev3
xcuserdata
profile <br>*.moved-aside
DerivedData
.idea/
*.hmap
保存至工程文件夹中,这样我们目录中就多出一个.gitignore文件了,这时我们再用git status命令查看当前状态:
YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master
Initial commit
Untracked files:
(use
"git add <file>..."
to include in what will be committed)
.gitignore
ManualGitDemo.xcodeproj/
ManualGitDemo/
ManualGitDemoTests/
nothing added to commit but untracked files present (use
"git add"
to track)
这里看到已经没有.DS_Store了,说明.gitignore已经把.DS_Store忽略了。现在可以提交了,使用
git add .
此命令先将文件添加至暂存区域,但还没有提交,查看下状态:
YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master
Initial commit
Changes to be committed:
(use
"git rm --cached <file>..."
to unstage)
new
file: .gitignore
new
file: ManualGitDemo.xcodeproj/project.pbxproj
new
file: ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new
file: ManualGitDemo/AppDelegate.h
new
file: ManualGitDemo/AppDelegate.m
new
file: ManualGitDemo/Base.lproj/Main.storyboard
new
file: ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
new
file: ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
new
file: ManualGitDemo/ManualGitDemo-Info.plist
new
file: ManualGitDemo/ManualGitDemo-Prefix.pch
new
file: ManualGitDemo/ViewController.h
new
file: ManualGitDemo/ViewController.m
new
file: ManualGitDemo/en.lproj/InfoPlist.strings
new
file: ManualGitDemo/main.m
new
file: ManualGitDemoTests/ManualGitDemoTests-Info.plist
new
file: ManualGitDemoTests/ManualGitDemoTests.m
new
file: ManualGitDemoTests/en.lproj/InfoPlist.strings
现在进行提交,使用git commit -m "Initail"命令,引号内的内容是提交的注释,随便写什么都可以:
YiBantekiiMac-3:ManualGitDemo YiBan$ git commit -m
"Initial"
[master (root-commit) 83bbefc] Initial
17 files changed, 803 insertions(+)
create mode 100644 .gitignore
create mode 100644 ManualGitDemo.xcodeproj/project.pbxproj
create mode 100644 ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
create mode 100644 ManualGitDemo/AppDelegate.h
create mode 100644 ManualGitDemo/AppDelegate.m
create mode 100644 ManualGitDemo/Base.lproj/Main.storyboard
create mode 100644 ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
create mode 100644 ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
create mode 100644 ManualGitDemo/ManualGitDemo-Info.plist
create mode 100644 ManualGitDemo/ManualGitDemo-Prefix.pch
create mode 100644 ManualGitDemo/ViewController.h
create mode 100644 ManualGitDemo/ViewController.m
create mode 100644 ManualGitDemo/en.lproj/InfoPlist.strings
create mode 100644 ManualGitDemo/main.m
create mode 100644 ManualGitDemoTests/ManualGitDemoTests-Info.plist
create mode 100644 ManualGitDemoTests/ManualGitDemoTests.m
create mode 100644 ManualGitDemoTests/en.lproj/InfoPlist.strings
再查看下状态:
YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master
nothing to commit, working directory clean
好了,当前工作区是干净的,代码都已经提交完毕了。我们可以用Xcode提交代码,也可以用命令来提交,但是用命令行的话可以做的事情更多一些。使用Xcode可以查看提交的历史纪录,Source Control->History:
添加工程至GitHub
首先必须有GitHub的帐号,没有的话去注册一个,并且还要创建SSH,GitHub使用了公私密钥,确保与你的电脑通讯过程是安全的。
SSH创建过程是这样的:
1. 在命令行输入cd ~/.ssh,然后ls,看看此文件夹下有哪些文件,如果有id_rsa.pub或者id_dsa.pub(名字可能会不同),说明你已经有SSH keys了,你可以将它添加到你的账户中
2. 如果没有的话,你讲得到"No such file or directory"这个错误信息,此时你可以通过命令生成出来:
ssh-keygen -t rsa -C
"YOUR EMAIL"
在那里填写你的email地址,之后会被要求填写密码,此时的SSH keys就生成好了,有了SSH Keys后将其添加至你的GitHub账户中就可以了,在账户设置中找到SSH keys这一项,然后填写title和key,现在,你的SSH Key就和GitHub账户绑定了
前往个人主页,新建一个repository(网页右上方),会要输入一些信息:
输入Repository name和描述,然后选创建,会看到repository的链接:
把链接赋值下来,前往Xcode中,Source Control->第一项->Configure...,之后选Remotes:
Add Remote中,输入Name(你工程的名字)和Address(之前的链接地址),然后Source Control->Push,选择刚刚新建的链接,Push~
现在刷新下GitHub主页,你的工程已经添加成功了~!
- 上传源码至gitHub 详解 以及git安装教程及详解
- GitHub使用教程详解(下)——Git的安装以及Git命令详解
- 详解Git的使用以及如何使用AndroidStudio上传工程到GitHub
- Git图文教程及详解
- GitHub常用上传文件的两种方法 附带常见的问题及Git安装教程
- 【Git】安装以及第一次使用Git和GitHub傻瓜教程
- git上传到GitHub教程
- git详解之上传项目到github托管
- 十七、Git使用详解与Github上传代码
- 将本地代码上传到github详解--git工具学习
- git github 详解
- eclipse安装git,上传和下载详解
- 【其他】macos安装git及上传文件到github
- github安装及使用图文详解
- Git工具详解以及与GitHub的配合使用
- Git----基本使用详解及进阶教程
- GitHub 使用教程详解
- github使用教程详解
- 数据库中表的复杂查询&分页
- Java死锁范例以及如何分析死锁
- ANT编译错误: 编码utf8的不可映射字符
- SAT数学考试满分必知技巧
- Read Eye test report
- 上传源码至gitHub 详解 以及git安装教程及详解
- 安装 PHP 5.4 成功 https://webtatic.com/packages/php54/
- 文章标题
- linux 内核开发环境搭建
- sigaction函数中 SA_NODEFER与sa_mask之间
- linux 常用指令
- androidのDOM方式解析XML
- 《Java并发编程实践》笔记6——并发性调优
- C++字符串操作集合