终端所有信息:
Last login: Fri Aug 14 08:58:01 on console
wuxiaoyuan:~ lan$ ls -al ~/.ssh
ls: /Users/lan/.ssh: No such file or directory
wuxiaoyuan:~ lan$ mkdir .ssh
wuxiaoyuan:~ lan$ cd /Users/lan/.ssh
wuxiaoyuan:.ssh lan$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/lan/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/lan/.ssh/id_rsa.
Your public key has been saved in /Users/lan/.ssh/id_rsa.pub.
The key fingerprint is:
d6:62:85:4f:43:b1:60:4b:85:be:8d:43:3b:48:04:0c [email protected]
The key‘s randomart image is:
+--[ RSA 4096]----+
| Eo.. +o+. |
| . .o.= . |
| . .o = |
| . o= . |
| . oS=o |
| .o*.. |
| o |
| |
| |
+-----------------+
wuxiaoyuan:.ssh lan$ pbcopy < ~/.ssh/id_rsa.pub
wuxiaoyuan:.ssh lan$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIUvEB2QI2ygbbnIkbKCBqTq1eYLb+uQV4ZFioNOqF1DNHh7tIFGl5UPEuFL+hqhz4rWANjisEv3zaBgXCgUlFPP9jOy0QlUN03K+nVVWzj++Jte0e3drD1MDwOAyV1ShD6sy8gsQp9mplnUn0QqS3zdlVe2otrSpfGPpPnD5L/Sv7uV27xszv8vJd73p2Wyayn4cIQ3rHmmvdOWbeQbvN54nGZBUFFt6KIdwLAQ0+ZeLCJavYoL8Ts2PsyzzSPmyHWUfneCpPrBY8CDkYQC3tsftt7ouKSNFURx/hU5eDzdAgu20pNUPasAZLk76VedhhijBU2i9P5OyQXtuwraTDDv2ih5rwvXKG7KgSMdA2UALDOtPF/mF2rftWY4XR7YzOXnsT+i4BXEVs+wmQ0JBMAyo05dCVzIVxglMc8ZEmCOATqFEgbtmqu+eX1DzudTSvQWsp8oO/he2J5g895yEKAXadiXB9VJKsL7Alaf2gNcmT+zD2/MakGtZJKvXDA7x99Ll2aWbbUtJkgpl1F6LFm7MrFG5xshj8cx7JMgq8muTcI+NZiW5c2NNA+6I/5zJwqXyUzhc6Ehl0ek4l6E8khedsywhcmgQQjwd3nXbDqQA1+of3ADCIOCGnvS1ARi3lgRTSFVBi+HwN35a3ZP3lWn+sFgkrPsVbBkiNzd9YWw== [email protected]
wuxiaoyuan:.ssh lan$ ssh -T [email protected]
The authenticity of host ‘github.com (192.30.252.129)‘ can‘t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
wuxiaoyuan:.ssh lan$ ssh -T [email protected]
The authenticity of host ‘github.com (192.30.252.128)‘ can‘t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘github.com,192.30.252.128‘ (RSA) to the list of known hosts.
Hi wusang! You‘ve successfully authenticated, but GitHub does not provide shell access.
wuxiaoyuan:.ssh lan$ cd /Users/lan/Desktop/张三
wuxiaoyuan:张三 lan$ git clone https://github.com/wusang/lanou02.git
Cloning into ‘lanou02‘...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
Checking connectivity... done.
wuxiaoyuan:张三 lan$ git status
fatal: Not a git repository (or any of the parent directories): .git
wuxiaoyuan:张三 lan$ cd /Users/lan/Desktop/张三/lanou02
wuxiaoyuan:lanou02 lan$ git status
On branch master
Your branch is up-to-date with ‘origin/master‘.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: lanou02/lanou02.xcodeproj/project.pbxproj
new file: lanou02/lanou02.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file: lanou02/lanou02/AppDelegate.h
new file: lanou02/lanou02/AppDelegate.m
new file: lanou02/lanou02/Base.lproj/LaunchScreen.xib
new file: lanou02/lanou02/Base.lproj/Main.storyboard
new file: lanou02/lanou02/Images.xcassets/AppIcon.appiconset/Contents.json
new file: lanou02/lanou02/Info.plist
new file: lanou02/lanou02/ViewController.h
new file: lanou02/lanou02/ViewController.m
new file: lanou02/lanou02/main.m
new file: lanou02/lanou02Tests/Info.plist
new file: lanou02/lanou02Tests/lanou02Tests.m
wuxiaoyuan:lanou02 lan$ open.
-bash: open.: command not found
wuxiaoyuan:lanou02 lan$ open .
wuxiaoyuan:lanou02 lan$ git add .
wuxiaoyuan:lanou02 lan$ git commit -am "添加了工程"
[master 41b1085] 添加了工程
13 files changed, 762 insertions(+)
create mode 100644 lanou02/lanou02.xcodeproj/project.pbxproj
create mode 100644 lanou02/lanou02.xcodeproj/project.xcworkspace/contents.xcworkspacedata
create mode 100644 lanou02/lanou02/AppDelegate.h
create mode 100644 lanou02/lanou02/AppDelegate.m
create mode 100644 lanou02/lanou02/Base.lproj/LaunchScreen.xib
create mode 100644 lanou02/lanou02/Base.lproj/Main.storyboard
create mode 100644 lanou02/lanou02/Images.xcassets/AppIcon.appiconset/Contents.json
create mode 100644 lanou02/lanou02/Info.plist
create mode 100644 lanou02/lanou02/ViewController.h
create mode 100644 lanou02/lanou02/ViewController.m
create mode 100644 lanou02/lanou02/main.m
create mode 100644 lanou02/lanou02Tests/Info.plist
create mode 100644 lanou02/lanou02Tests/lanou02Tests.m
wuxiaoyuan:lanou02 lan$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from ‘matching‘ to ‘simple‘. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
When push.default is set to ‘matching‘, git will push local branches
to the remote branches that already exist with the same name.
In Git 2.0, Git will default to the more conservative ‘simple‘
behavior, which only pushes the current branch to the corresponding
remote branch that ‘git pull‘ uses to update the current branch.
See ‘git help config‘ and search for ‘push.default‘ for further information.
(the ‘simple‘ mode was introduced in Git 1.7.11. Use the similar mode
‘current‘ instead of ‘simple‘ if you sometimes use older versions of Git)
Username for ‘https://github.com‘: wusang
Password for ‘https://[email protected]‘:
Counting objects: 24, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (21/21), done.
Writing objects: 100% (23/23), 8.51 KiB | 0 bytes/s, done.
Total 23 (delta 3), reused 0 (delta 0)
To https://github.com/wusang/lanou02.git
c054ac6..41b1085 master -> master
wuxiaoyuan:lanou02 lan$ git status
On branch master
Your branch is up-to-date with ‘origin/master‘.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: lanou02/lanou02/ViewController.h
modified: lanou02/lanou02/ViewController.m
no changes added to commit (use "git add" and/or "git commit -a")
wuxiaoyuan:lanou02 lan$ git add .
wuxiaoyuan:lanou02 lan$ git commit -am "从暂存库添加到本地仓库,添加了1111"
[master f27a890] 从暂存库添加到本地仓库,添加了1111
2 files changed, 4 insertions(+)
wuxiaoyuan:lanou02 lan$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from ‘matching‘ to ‘simple‘. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
When push.default is set to ‘matching‘, git will push local branches
to the remote branches that already exist with the same name.
In Git 2.0, Git will default to the more conservative ‘simple‘
behavior, which only pushes the current branch to the corresponding
remote branch that ‘git pull‘ uses to update the current branch.
See ‘git help config‘ and search for ‘push.default‘ for further information.
(the ‘simple‘ mode was introduced in Git 1.7.11. Use the similar mode
‘current‘ instead of ‘simple‘ if you sometimes use older versions of Git)
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 607 bytes | 0 bytes/s, done.
Total 6 (delta 4), reused 0 (delta 0)
To https://github.com/wusang/lanou02.git
41b1085..f27a890 master -> master
wuxiaoyuan:lanou02 lan$
与git相配合
简单步骤:
》1.注册一个github账号
》2.配置SSH Keys, 只要配置了SSH Keys就可以和github无缝衔接
》点击昵称来到个人主页
》 点击主页中的设置(setting)
》 点击SSH Keys
》点击 generating SSH keys
》1.检查本地的ssh keys
在“用户目录”下 ls -al ~/.ssh
2.如果文件夹不存在需要手动创建一个
mkdir .ssh
3.根据github的提示2生成ssh keys
在.ssh目录下执行 ssh-keygen -t rsa -C "[email protected]”
输入完成之后连续按下回车, 知道出现牛逼的图形位置
4.生成完公钥和私钥之后输入
ls -la查看是否生成成功 id_rsa(私钥) id_rsa.pub(公钥)
5.根据提示3获得公钥
pbcopy < ~/.ssh/id_rsa.pub
6.点击 setting —》 ssh key —>add ssh key
将刚才获取到得公钥添加进去
7.更具github第4步提示, 验证公钥
验证成功网页上的灰色圆点会变成绿色
8.拷贝到公钥之后打开github主页
》点击仓库(Repositories)
》再点击new来到github创建仓库界面
9.通过github提供的地址下载一个空得仓库到本地
》创建一个新的项目到本地仓库文件夹中
》利用Xcode提交代码到github
》注意: 要求输入用户名密码时候, 输入的是github上显示的昵称而不是登录账号
详细步骤:
在桌面建立两个空文件”张三””李四"(模拟多人开发)
1.进入https://github.com (先要注册githup个人账号)
2.
点击进入
进入后界面有step1~step5 参照操作
终端命令行:
1.step1 用来确认状态: ls -al ~/.ssh(输出结果表明 张三文件夹没有.ssh文件)
建立.ssh文件:
mkdir .ssh
cd 路径
2.生成公钥
step 2: ssh-keygen -t rsa -b 4096 -C "[email protected]"
3.Step 3: Add your key to the ssh-agent
Step 4: Add your SSH key to your account
Step 5: Test the connection
多人开发情况:
另一个人”李四”现在桌面的文件夹是空的
终端:
找到李四文件夹路径:cd 拖过来的文件夹路径
clone 仓库网址:git clone URL网址
打开李四原来的空文件夹,发现已经克隆下来了工程
拉取其他人已经提交的代码
终端:
找到文件夹下的工程路径: cd /Users/lan/Desktop/李四/lanou02
拉取工程: git pull
打开李四文件夹下的工程,发现已经同步到张三修改后的代码