iOS开发

Mac OSX下上传本地的项目源代码至GitHub

2017-06-10  本文已影响11人  zfl1024

提起GitHub大家并不陌生,GitHub也算为“开源”做出突出的贡献了~ Git这种良好支持分支管理的分布式的SCM真正解决了一个问题问题:每个工程师在自己本地分支上开发,完成功能以后往master分支合并。
首先当然是安装Git工具:
1、下载Git installer,地址:http://git-scm.com/downloads
2、pkg包下载完成,双击安装。
3、打开终端,使用git --version命令查看安装版本,能查看到就是安装成功了(eg:git version 2.13.0 (Apple Git-61))。
接下来就是创建SSH:
打开终端,输入以下命令来查看.ssh是否存在:

$ cd ~/.ssh  

若提示“-bash: cd: ~/.ssh: No such file or directory” 那就说明.ssh文件夹不存在,那么则进行下一个步骤,否则就是将原来的.ssh文件夹备份一下,亦或是切换到其他路径下建立ssh。输入以下命令来创建ssh:

$ ssh-keygen -t rsa -C xxx@xx.com  

xxx@xx.com为你注册GitHub时的邮箱账号,命令执行成功后,会有以下提示:

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 352091626@qq.com  
The key's randomart image is:  
+--[ RSA 2048]----+  
|        .        |  
|         +       |  
|      E . +   +  |  
|       o * o + + |  
|        S + = =  |  
|       . o + O   |  
|          . * .  |  
|             .   |  
|                 |  
+-----------------+  

接下来就是在GitHub上创建SSH。首先登陆你的GitHub,右上角用户头像下选择Settings,在SSH Keys 选项里面添加ssh,如下所示:

屏幕快照 2017-06-10 下午3.04.10.png

Title:xxx@xx.comKey:打开你生成的id_rsa.pub文件(/User/yourname/.ssh/id_rsa.pub),将其中内容拷贝过来。

$ cd    /User/yourname/.ssh
$ ls
$ vim  id_rsa.pub
屏幕快照 2017-06-10 下午3.06.22.png

这里需要注意的是:在Mac OSX下,隐藏文件默认是不显示的,可以通过以下命令来 显示/隐藏 隐藏文件夹,当然,熟悉Linux命令行操作的人,可以直接用vim命令打开,或者cat直接显示。

显示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这步暂不勾选):

9984-b48243b7d7b08313.png 9984-ca32e5d8741ab119.png

创建完成后跳转到代码仓库界面,如下:

屏幕快照 2017-06-10 下午3.14.53.png

当然了,在没有上传代码之前,列表是空的。
紧接着按照以下步骤进行本地仓库的创建及代码上传。打开终端,输入以下命令:

$ cd cd /Users/yourname/Desktop/idCardTest
$ git clone git@github.com:yourname/xxxx.git
$ touch README.md                                         //新建一个README文档,若上一步勾选了创建README.md,提交时导致冲突  
$ git init                                                //初始化本地仓库  
$ git add README.md                                       //添加刚刚创建的README文档  
$ git add .   // 添加需要提交的文件夹,使用git add .  则添加全部
$ git commit -m "你的注释...."                             //提交到本地仓库,并写一些注释  
$ git remote add origin git@github.com:yourname/xxxx.git  //连接远程仓库并建了一个名叫:origin的别名,当然可以为其他名字,但是origin一看就知道是别名,youname记得替换成你的用户名  
$ git pull --rebase  git@github.com:yourname/xxxx.git  
$ git push -u origin master                              //将本地仓库的文件提交到别名为origin的地址的master分支下,-u为第一次提交,需要创建master分支,下次就不需要了 。 

显示结果如下,则代码上传成功。


屏幕快照 2017-06-10 下午3.50.51.png

刷新一下GitHub,则显示刚刚提交的项目源代码。

屏幕快照 2017-06-10 下午3.55.41.png

相关总结

1、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改,最好每次上传之前先pull一下。
2、切记上传文件时,一定要先commit到本地仓库,才能进行push提交,否则会显示Everything up-to-date(意思就是目前的远程仓库的内容跟本地仓库对比后,没有做修改,是最新的);
3、在设置别名的时候,出现“fatal: remote origin already exists.”错误,说明该别名已经存在,可以另外建一个别名,或者使用“git remote rm origin”命令删除原来的别名,然后重新执行“git remote add origin git@github.com:yourname/xxxx.git”;
4、在提交的时候,出现“error: failed to push some refs to 'git@github.com:xxx/xxx.git' hint: Updates were rejected because the remote contains work that you do not have locally....”的错误,说明有冲突,远程仓库的版本比本地仓库的要新,所以要先进行更新,才能提交。http://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html

git图形工具

sourceTree
http://www.jianshu.com/p/5e1a76535221

参考文章:
1.http://blog.csdn.net/dengjianqiang2011/article/details/9260435
2.http://blog.csdn.net/dengjianqiang2011/article/details/9260435
3.http://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html
4.http://blog.csdn.net/u012839131/article/details/52836844

上一篇下一篇

猜你喜欢

热点阅读