GitHub入门到上传本地项目

GitHub是基于git实现的代码托管。git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好。

一、创建GitHub repository(仓库)

1-1 登录GitHub 

GitHub的官方网址:https://github.com ,如果没有账号,赶紧注册一个。


点击Sign in进入登录界面,输入账号和密码登入github。

1-2 创建repository(仓库)

为啥要叫repository(仓库)?我起初也纳闷,叫代码库不更简单明了么? 但仔细一琢磨,仓库一般都是放粮食的吧,这是把代码当作饱腹之物,多有爱,瞬间觉得这冰冷冷的代码充满了查克拉。

扯远了,来看怎么创建仓库,登录后可以看到有repository选项卡


如果没在这个页面也没关系,点击右上角的头像旁边的小三角,展开后可以看到Your profile,点击进入后也能看到repository


切换到repository选项卡,可以看到很醒目的new按钮。不用犹豫,点击它,开始创建自己的粮仓了。


下面是创建仓库信息,只有名字是必填项,现在我创建了一个仓库叫:beautifulDay(个人建议:这里的名字最好是能和工程名相同)

创建成功后,可以看到自己的仓库地址,如此,我的远程免费的仓库就创建了。它还介绍了github仓库的常用指令。这个指令需要在本地安装git客户端。

git init //把这个目录变成Git可以管理的仓库 

git add README.md //文件添加到仓库 

git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了  

git commit -m "first commit" //把文件提交到仓库 
git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库 

git push -u origin master //把本地库的所有内容推送到远程库上



二、安装git客户端Git是目前世界上最先进的分布式版本控制系统,git与svn的五个基本区别。它有以下特点: 

分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;

保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;

Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;

Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);

Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;

分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;

分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。

2-1 下载git客户端

官方下载地址:http://git-scm.com/download/  根据你自己的系统 下载对应版本,没想到它知道我是Mac



2-2 安装git客户端



安装好,账户也注册好了,我们打开终端terminal,输入cd ~/.ssh 

如果是第一次,它会出现No such file or directory,

不要担心,我们建立密钥就好,输入ssh-keygen -t rsa -C “你的邮箱github”,一路回车,一个是修改密码,不过密码大于4位,否则要重新来过,这是在你提交项目的时候需要输入的密码,不设即为空,看自己喜欢;默认是保存在users/ 下面,到时会出现信息的



三.创建属于你的SSH。SSH是Secure Shell的缩写,意为安全外壳协议,具体内容请百度搜索“SSH”。创建步骤如下:

1.1在GitHub网站登录后,找到下图所示的按钮,选择“Settings”


1.2接下来你会看到下图,选择“SSH and GPG keys”


1.3接下来就可以新建你的SSH keys,找到下图中所示的按钮“New SSH keys”


问题来了


接下来请找到“id_rsa”和“id_rsa.pub”两个文件,使用文本编辑器打开“id_rsa.pub”将其中的内容全部复制。

接着将id_rsa.pub文件中key粘贴到此,最后Add key生成密钥吧


如此,github账号的SSH keys配置完成。


四、上传本地项目到github

3.1打开终端,输入以下命令

1
cd ~/.ssh

如果上面的步骤都没问题,此时你应该会进入该路径。下面将会发生神奇的事,在终端中即可完成代码的上传工作。

上传前请确保终端已经连接到GitHub,输入以下命令测试

1
ssh -T git@github.com

连接成功的返回应该是

1
Hi  "your name" ! You've successfully authenticated, but GitHub does not provide shell access.

3.2以此键入以下命令(注意:切换到你的项目所在的路径

1
2
3
4
5
6
touch README.md  //新建一个记录提交操作的文档
git init  //初始化本地仓库
git add README.md  //添加文件
git commit -m  "first commit" //提交到本地仓库,并注释
git remote add origin git@github.com:youname/Test.git  //连接远程仓库并建了一个名叫:origin的别名
git push -u origin master  //将本地仓库的东西提交到地址是origin的地址,master分支下

上面的代码做了什么?其实它只是讲一个文本文件提交到了“master”分支上,没什么特别的,值得注意的是,里面的“add”,“commit”和“push”三个操作,“add”可以添加多个文件分多行键入,也可添加当前目录下的所有文件“add .”即可,“commit”操作是提交到本地仓库,注意是本地仓库,这一操作不会影响远端的代码;“push”操作则是将本地修改的代码push到远端分支。

3.3最后一步,上传你的项目到GitHub。键入以下命令(注意:切换到你的项目所在的路径

1
2
3
4
5
6
7
首先切换到你项目所在的路径
git init
git add .
git commit -m  "first commit"
git remote add origin git @github .com:youname/Test.git
git pull origin master
git push -u origin master

 

解释一下,上面现切换到你的项目所在的路径,从而可以使用“add .”命令将项目所有问价都上传到GitHub。

3.4本来到这你应该已经把自己的项目成功上传上去了,但是,也可能会遇见一些问题

例如

1
2
3
4
5
6
7
To git@github.com:PaulPaulBoBo/ForHealth.git
  ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to  'git@github.com:xxx.git'
hint: Updates were rejected because the tip of your current branch  is  behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint:  'git pull ...' ) before pushing again.
hint: See the  'Note about fast-forwards'  in  'git push --help'  for  details.

上面说上传一些“refs”错误,在pushing之前请pull,为什么会这样呢?原因是本地代码跟远端的冲突造成的,应该先将远端的代码拉回到本地再上传。

方法1:

1
2
3
git pull origin master
 
git push -u origin master

方法2:

1
2
3
git pull --rebase             
git push --dry-run --verbose origin HEAD:master   
git push origin HEAD:master   

这样就可以解决冲突问题了。当然,后期开发的时候,如果冲突问题比较多的话,还得手动修改某些冲突文件后才可以上传。

好了,项目上传完毕,你可以跟全世界一起讨论你的项目了!  






















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值