提起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,如下所示:
Title:xxx@xx.comKey:打开你生成的id_rsa.pub文件(/User/yourname/.ssh/id_rsa.pub),将其中内容拷贝过来。
$ cd /User/yourname/.ssh
$ ls
$ vim id_rsa.pub
这里需要注意的是:在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这步暂不勾选):
创建完成后跳转到代码仓库界面,如下:
当然了,在没有上传代码之前,列表是空的。
紧接着按照以下步骤进行本地仓库的创建及代码上传。打开终端,输入以下命令:
$ 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分支,下次就不需要了 。
显示结果如下,则代码上传成功。
刷新一下GitHub,则显示刚刚提交的项目源代码。
相关总结
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