github 第一次使用及出现的问题解决

1.前言:

  我们使用git,自然是希望我们的项目可以方便的从本地上传到git的仓库中,从而实现项目版本控制和备份,但是,从GitHub的网站上传文件,只能上传25MB的数据,我想多数人的项目都不可能只有25MB(甚至小于25MB),所有为了突破网页端的上传限制,我们必须从其他地方考虑,比如说,本地命令(git-bash),使用步骤如下。

2.步骤:

  2.1 首先在GitHub网站,注册账号、创建仓库(仓库名随意)

  2.2 下载及安装git

  2.3 配置Git

  • 先建一个本地仓库,取名为 iGit
    在Windows 下新建文件夹 iGit,双击进入,空白处右键选择“Git Bash Here”开启命令行窗口
  • 命令行执行
    $ git init

之后 iGit 文件下会多出来一个 .git 文件夹,表示本地 Git 仓库创建成功。

  • 本地创建 SSH key
    $ ssh-keygen -t rsa -C "你的GitHub注册邮箱"

回车后,会在默认文件 id_rsa.pub 上生成 SSH key,位置:C:Users用户名.ssh
之后系统要求输入密码,直接回车不设密码,重复密码时再次回车,之后显示 SSH key 已经生成成功。

打开 id_rsa.pub 文件,复制文件中的 key,粘贴到 GitHub 网站 Account Settings 中的 SSH keys,Add SSH key 中。如图:

  2.4 验证配置是否成功,在 Git Bash Here 命令行下输入如下命令:

    $ ssh -T git@github.com

  2.5设置 username 和 email,添加远程地址:

    $ git config --global user.name "your name"

    $ git config --global user.email "your_email@youremail.com"

    配置好这两项,用户就能知道谁做了什么,并且一切都更有组织性了不是吗?

    $ git remote add origin git@github.com:用户名/Git仓库名称.git
    $ git config branch.master.remote origin  
    $ git config branch.master.merge refs/heads/master

    一个项目可以同时拥有好几个远端仓库为了能够区分,通常会起不同的名字。通常主远端仓库被称为 origin。

    加完之后进入 .git,打开 config,这里会多出一个 remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改 config 来配置远程地址。

  2.6 提交上传本地文件

  • 在本地仓库添加一个文件,比如 README
  • 命令行输入命令提交
    $ git add README.md
    $ git commit -m "提交注释"

  Git 有个概念叫 暂存区,你可以把它看成一块空白帆布,包裹着所有你可能会提交的变动。它一开始为空,你可以通过 git add 命令添加内容,并使用 git commit 提交,-m "提交注释"表示对这次提交的描述。

  这里要加文件扩展名,否则报错:fatal: pathspec 'README' did not match any files (要将整个文件夹都提交的话,不需要加后缀名,直接全部提交文件夹名就可以)

  • 上传到 GitHub

   $ git push origin master

  上述命令意义:git push <远程主机名> <本地分支名>:<远程分支名>

  git push命令会将本地仓库推送到远程服务器。
  但是,这一步,报错了:

  error: src refspec master does not match any.

  因为,我之前,在网页端对仓库做过修改,所以,在第一次提交项目前,应该要先使用pull命令,同步远程仓库到本地,命令如下:

   $  git pull origin master

  但是,此时,又报错了,,,

  error:refusing to merge unrelated histories.

  这个问题在2.9.0之后的版本才出现的,以前的版本可以正常工作。所以最后我的命令是:

   $ git pull origin master --allow-unrelated-histories

  此时,再执行:

   $ git push origin master

  上传成功,刷新页面可以看到项目文件夹已经完整的上传了。

参考链接:

http://www.jianshu.com/p/0fce531dba31

http://blog.csdn.net/u010853261/article/details/51935503

原文地址:https://www.cnblogs.com/zhang293/p/7799877.html