mac使用git管理Github

来源:互联网 发布:pl sql developer下载 编辑:程序博客网 时间:2024/06/06 07:32

工欲善其事,必先利其器。

在OS X Yosemite 10.10.3安装最新版本Xcode,在terminal下可以发现git已经被安装。

 

?
1
2
~ mesut$ git --version
git version 2.3.2(Apple Git-55)

之前就已经注册并且使用Github了,不过一直都是在window 系统下远程管理。

 

现在开始设置Mac管理Github,有一点需要知道的是本地的git仓库和Github服务器之间是通过ssh加密的。

在终端执行

 

?
1
2
3
4
5
6
7
8
9
10
ozil:tmp mesut$ ssh -v
OpenSSH_6.2p2, OSSLShim 0.9.8r8Dec 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]]
           [user@]hostname [command]

明显Mac已经安装了ssh。

 

 

1:创建SSH Key

 

?
1
2
3
4
5
6
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

 

?
1
ssh-keygen -t rsa -C youremail@example.com(你的Github登陆名)

接着都是回车,选择默认的目录,默认的密码即可

 

?
1
2
3
4
5
6
7
Generatingpublic/privatersa key pair.
Enter file in which to save the key (/Users/mesut/.ssh/id_rsa):    
Created directory '/Users/mesut/.ssh'.
Enter passphrase (empty forno passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/mesut/.ssh/id_rsa.
Yourpublickey has been saved in /Users/mesut/.ssh/id_rsa.pub.


 

接着可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对

 

?
1
2
3
ozil:~ mesut$ cd .ssh
ozil:.ssh mesut$ ls
id_rsa      id_rsa.pub


 

2:在Github设置ssh key

登陆Github, “Settings”->SSH keys->Add SSH key

 

\

 

 

\

 

title:可以顺便填名字

key:在Key文本框里粘贴id_rsa.pub文件的内容

点击add key 配置完成

3:测试本地是否和Github连接上

史蒂夫

 

?
1
2
3
4
ozil:.ssh mesut$ ssh -T git@github.com
The authenticity of host 'github.com (xxx)' can't be established.
RSA key fingerprint is xxx.
Are you sure you want to continueconnecting (yes/no)? yes
第一次链接Github,会有一个确认,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入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

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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< <mesut@ozil.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress thismessage 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 forthis commit with:
 
    git commit --amend --reset-author
 
 1file changed, 0insertions(+), 0deletions(-)
 create mode 100644newfile</mesut@ozil.local>

 

首先在本地初始化一个git仓库

由于之前没有配置用户名,所以首次commit会有提示,自动建立

设置方式

 

?
1
2
$ git config --global user.name Your Name
$ git config --global user.email email@example.com

 

 

为了把本地库推到远程服务器,首先需要在Github上面也建一个项目

\

在Repository name填上我们的项目名字,description随便填,别的默认。

然后会生成项目\

然后把远程项目和本地库关联

 

?
1
2
3
4
5
6
7
8
9
ozil:hellogithub mesut$ git remote add origin git@github.com:tanchongshi/hellogithub.git
ozil:hellogithub mesut$ git push -u origin master
Warning: Permanently added the RSA host key forIP address 'XXX'to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3),217bytes | 0bytes/s, done.
Total3(delta 0), reused 0(delta 0)
To git@github.com:tanchongshi/hellogithub.git
 * [newbranch]      master -> master
Branch master set up to track remote branch master from origin.

 

 

https://github.com/tanchongshi/hellogithub
\

so far so good~


 

0 0
原创粉丝点击