git 版本控制1

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

git 版本控制1_第1张图片

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

git 版本控制1_第2张图片

当然了,在没有上传代码之前,列表是空的。

紧接着按照以下步骤进行本地仓库的创建及代码上传。打开终端,输入以下命令:

[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,则显示刚刚提交的项目源代码。

git 版本控制1_第3张图片

相关总结

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”命令进行更新,地址自己相应替换掉。

你可能感兴趣的:(git 版本控制1)