http://blog.csdn.net/yyh352091626/article/details/50714880
提起GitHub大家并不陌生,GitHub也算为“开源”做出突出的贡献了~ Git这种良好支持分支管理的分布式的SCM真正解决了一个问题问题:每个工程师在自己本地分支上开发,完成功能以后往master分支合并。
关于Windows下GitHub的一些使用,随处可见。本文着重介绍如何在Mac OSX下上传本地的项目源代码至GitHub。
首先当然是安装Git工具。
1、下载Git installer,地址:http://git-scm.com/downloads
2、pkg包下载完成,双击安装。
3、打开终端,使用git --version命令查看安装版本,能查看到就是安装成功了(eg:git version 2.5.4 (Apple Git-61))。
接下来就是创建SSH。打开终端,输入以下命令来查看.ssh是否存在:
[plain]view plaincopy
$ cd ~/.ssh
若提示“-bash: cd: ~/.ssh: No such file or directory” 那就说明.ssh文件夹不存在,那么则进行下一个步骤,否则就是将原来的.ssh文件夹备份以下,亦或是切换到其他路径下建立ssh。输入以下命令来创建ssh:
[plain]view plaincopy
$ ssh-keygen -t rsa -C [email protected]
[email protected]为你注册GitHub时的邮箱账号,命令执行成功后,会有以下提示
[plain]view plaincopy
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yuyuhang/.ssh/id_rsa): // .ssh默认路径,不输入则不修改
Enter passphrase (empty for no passphrase): // 密码长度至少为4,否则失败
Enter same passphrase again:
Your identification has been saved in /Users/yuyuhang/.ssh/id_rsa.
Your public key has been saved in /Users/yuyuhang/.ssh/id_rsa.pub.
The key fingerprint is:
8d:d3:5f:31:ae:13:48:f0:78:df:a1:8f:a5:a4:c0:06 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| + |
| E . + + |
| o * o + + |
| S + = = |
| . o + O |
| . * . |
| . |
| |
+-----------------+
接下来就是在GitHub上创建SSH。首先登陆你的GitHub,右上角用户头像下选择Settings,在SSH Keys 选项里面添加ssh,如下所示。
Title:[email protected]
Key:打开你生成的id_rsa.pub文件(/User/yourname/.ssh/is_rsa.pub),将其中内容拷贝过来。
值得一提的是,在Mac OSX下,隐藏文件默认是不显示的,可以通过以下命令来 显示/隐藏 隐藏文件夹,当然,熟悉Linux命令行操作的人,可以直接用vim命令打开,或者cat直接显示。
[plain]view plaincopy
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO
然后在GitHub上创建版本库(Repository),在GitHub首页上,点击“Create a New Repository”,如下所示(为了便于后面演示,创建README.md这步暂不勾选):
创建完成后跳转到代码仓库界面,如下:
当然了,在没有上传代码之前,列表是空的。
紧接着按照以下步骤进行本地仓库的创建及代码上传。打开终端,输入以下命令:
[plain]view plaincopy
$ touch README.md //新建一个README文档,若上一步勾选了创建README.md,提交时导致冲突
$ git init //初始化本地仓库
$ git add README.md //添加刚刚创建的README文档
$ git commit -m "你的注释...." //提交到本地仓库,并写一些注释
$ git remote add origin [email protected]:yourname/xxxx.git //连接远程仓库并建了一个名叫:origin的别名,当然可以为其他名字,但是origin一看就知道是别名,youname记得替换成你的用户名
$ git push -u origin master //将本地仓库的文件提交到别名为origin的地址的master分支下,-u为第一次提交,需要创建master分支,下次就不需要了
初始化完成之后,我们可以把我们项目的源代码提交上去,使用git add命令,如下:
[plain]view plaincopy
$ git add 系统签名/ // 添加需要提交的文件夹,使用git add . 则添加全部
$ git add assets/
$ git add project.properties
$ git add res/
$ git add src/
$ git commit -m "上传项目源代码" // 提交到本地仓库
$ git push origin master // 将本地仓库合并到别名为origin地址的master分支下
显示结果如下,则代码上传成功。
[plain]view plaincopy
Counting objects: 63, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (53/53), done.
Writing objects: 100% (63/63), 1.41 MiB | 217.00 KiB/s, done.
Total 63 (delta 16), reused 0 (delta 0)
To [email protected]:smuyyh/autoinstall.git
000a667..61357d8 master -> master
刷新一下GitHub,则显示刚刚提交的项目源代码。
相关总结
1、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
2、切记上传文件时,一定要先commit到本地仓库,才能进行push提交,否则会显示Everything up-to-date(意思就是目前的远程仓库的内容跟本地仓库对比后,没有做修改,是最新的);
3、初用Mac的童鞋可能还不知道终端在哪里,点击Finder旁边的Launchpad,在“其他”文件夹下。
4、在设置别名的时候,出现“fatal: remote origin already exists.”错误,说明该别名已经存在,可以另外建一个别名,或者使用“git remote rm origin”命令删除原来的别名,然后重新执行“git remote add origin [email protected]:yourname/xxxx.git”;
5、在提交的时候,出现“error: failed to push some refs to '[email protected]:xxx/xxx.git' hint: Updates were rejected because the remote contains work that you do not have locally....”的错误,说明有冲突,远程仓库的版本比本地仓库的要信,所以要先进行更新,才能提交。使用“git pull [email protected]:xxx/xxx.git”命令进行更新,地址自己相应替换掉。