工欲善其事,必先利其器。
在OS X Yosemite 10.10.3安装最新版本号Xcode。在terminal下能够发现git已经被安装。
~ mesut$ git --version git version 2.3.2 (Apple Git-55)
之前就已经注冊而且使用Github了,只是一直都是在window 系统下远程管理。
如今開始设置Mac管理Github,有一点须要知道的是本地的git仓库和Githubserver之间是通过ssh加密的。
在终端运行
ozil:tmp mesut$ ssh -v OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [[email protected]]hostname [command]
明显Mac已经安装了ssh。
1:创建SSH Key
ozil:tmp mesut$ cd ~ ozil:~ mesut$ pwd /Users/mesut ozil:~ mesut$ cd .ssh -bash: cd: .ssh: No such file or directory ozil:~ mesut$
进入当前的用户文件夹。波浪线表示的是当前文件夹。
推断是否已经安装了.ssh,避免默认安装会覆盖之前安装的。
明显当前文件夹没有该文件
运行创建 ssh key
ssh-keygen -t rsa -C "[email protected]"(你的Github登陆名)
接着都是回车,选择默认的文件夹,默认的password就可以
Generating public/private rsa key pair. Enter file in which to save the key (/Users/mesut/.ssh/id_rsa): Created directory '/Users/mesut/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/mesut/.ssh/id_rsa. Your public key has been saved in /Users/mesut/.ssh/id_rsa.pub.
接着能够在用户主文件夹里找到.ssh
文件夹,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH
Key的秘钥对
ozil:~ mesut$ cd .ssh ozil:.ssh mesut$ ls id_rsa id_rsa.pub
2:在Github设置ssh key
登陆Github, “Settings”->"SSH keys"->"Add SSH key"
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
title:能够顺便填名字
key:在Key文本框里粘贴id_rsa.pub
文件的内容
点击add key 配置完毕
3:測试本地是否和Github连接上
史蒂夫
ozil:.ssh mesut$ ssh -T [email protected] The authenticity of host 'github.com (xxx)' can't be established. RSA key fingerprint is xxx. Are you sure you want to continue connecting (yes/no)? yes
第一次链接Github,会有一个确认。须要你确认GitHub的Key的指纹信息是否真的来自GitHub的server,输入yes
回车就可以。
Warning:
Permanently added ‘github.com,xxx‘ (RSA) to the list of known hosts.Hi tanchongshi! You‘ve successfully authenticated, but GitHub does not provide shell access.
4:使用git在本地建立的项目更新到Github
ozil:githubspace mesut$ mkdir hellogithub ozil:githubspace mesut$ cd hellogithub/ ozil:hellogithub mesut$ ls -ah . .. ozil:hellogithub mesut$ git init Initialized empty Git repository in /Users/mesut/Documents/githubspace/hellogithub/.git/ ozil:hellogithub mesut$ ls -ah . .. .git ozil:hellogithub mesut$ touch newfile ozil:hellogithub mesut$ ls newfile ozil:hellogithub mesut$ git add newfile ozil:hellogithub mesut$ git commit -m 'first commit' [master (root-commit) 2295d3e] first commit Committer: >v< <[email protected]> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file: git config --global --edit After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newfile
首先在本地初始化一个git仓库
因为之前没有配置username。所以首次commit会有提示。自己主动建立
设置方式
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"
为了把本地库推到远程server,首先须要在Github上面也建一个项目
在Repository name填上我们的项目名字。description随便填,别的默认。
然后会生成项目
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
然后把远程项目和本地库关联
ozil:hellogithub mesut$ git remote add origin [email protected]:tanchongshi/hellogithub.git ozil:hellogithub mesut$ git push -u origin master Warning: Permanently added the RSA host key for IP address 'XXX' to the list of known hosts. Counting objects: 3, done. Writing objects: 100% (3/3), 217 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To [email protected]:tanchongshi/hellogithub.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
https://github.com/tanchongshi/hellogithub
so far so good~