关于Git与Github,本地项目上传到GitHub端(第一次练习)

之前没接触过Git,但是总会在GitHub中观摩一些源码学习,尤其临近毕业设计,基础不好只得学习啊。

此文章很多观看了:stormzhang的原创分享,因此将大神的博客呈上:登录 - stormzhang项目手册或者:https://github.com/stormzhang

Git    是一款免费、开源的分布式版本控制系统,他是著名的    Linux    发明者    Linus    Torvalds    开发 的。说到版本控制系统,估计很多人都用过    SVN    ,只不过    Git    是新时代的产物,如果你还在 用    SVN    来管理你的代码,那就真的有些落伍了。不管是学习    GitHub    ,还是以后想从事编程 行业,Git    都可以算是必备技能了,所以从现在开始建议你先去学习熟悉下    Git    ,后面我会有 文章推荐一些适合新手的    Git    学习资料给你们。
而    GitHub    上面说了,主要提供基于    git    的版本托管服务。也就是说现在    GitHub    上托管的所有 项目代码都是基于    Git    来进行版本控制的,所以    Git    只是    GitHub    上用来管理项目的一个工具 而已,GitHub    的功能可远不止于此

1)——GitHub创建

首先自己创建好你的GitHub账号,新建你的repositories:

   

如图创建好自己的项目后勾选「Initialize    this    repository    with    a README」,这样你就拥有了你的第一个    GitHub    项目

2)-------Git安装

Mac:https://sourceforge.net/projects/git-osx-installer/
Windows:https://git-for-windows.github.io/           Linux:apt-get    install    git

在Git官网安装最新的:

安装好打开后中间记得最后一次选项中有在桌面上生成快捷方式的选项,勾选即刻,为了更加方便。

(1)打开输入git,显示,那么安装成功。

(2)初始化git仓库,git init 。但是我发现每次初始化都会在C盘创建一个隐藏的.git文件夹。

我并不喜欢在C盘里写本地仓库,所以,选择Git Bash的属性;并且修改起始位置如图:

再次敲git init

就看到后面再我的D盘Gitspace下有了一个隐藏的本地仓库,

3)------Git基本使用

紧接着,我们在Git Bash里打上git status .git    status    这个命令顾名思义就是查看状态,这个命令可以算是使用最频繁的一个命令了,建 议大家没事就输入下这个命令,来查看你当前    git    仓库的一些状态。

注释:我要打算在D盘Gitspace下创建一个a.md文件,并且把它上传到我的GitHub里。

通过git add a.md 将本目录下的a.md 放进缓存里,就如上图所示。此时提示以下文件    Changes    to    be    committed    ,    意思就是    a.md    文件等待被提交,当然你可 以使用    git    rm    --cached    这个命令去移除这个缓存。

接着我们输入    git    commit    -m    'first    commit'    ,这个命令什么意思呢?    commit    是提交的意思,m    代表是提交信息,执行了以上命令代表我们已经正式进行了第一次提交。但是出现提示,要输入使用者的信息。

那么就如图所示,向上面的图一样输入邮箱和名字即可。

再次git commit 提交,git status查看状态,git    log    命令可以查看所有产生的    commit    记录,所以可以看到已经产生了一条    commit    记录, 而提交时候的附带信息叫    'first    commit'    。

4)-----和GitHub管理操作

你拥有了一个    GitHub    账号之后,就可以自由的    clone    或者下载其他项目,也可以创建自己的 项目,但是你没法提交代码。仔细想想也知道,肯定不可能随意就能提交代码的,如果随意 可以提交代码,那么    GitHub    上的项目岂不乱了套了,所以提交代码之前一定是需要某种授权 的,而    GitHub    上一般都是基于    SSH    授权的。
那么什么是    SSH    呢?    简单点说,SSH是一种网络协议,用于计算机之间的加密登录。目前 是每一台    Linux    电脑的标准配置。而大多数    Git    服务器都会选择使用    SSH    公钥来进行授权, 所以想要在    GitHub    提交代码的第一步就是要先添加    SSH    key    配置。
 

当你输入入    ssh-keygen    -t    rsa  后,会创建两个目录,隐藏的,地址上面图上也都会有。接下来要做的是把    id_rsa.pub    的内容添加到    GitHub    上,这样你本地的    id_rsa    密钥跟    GitHub 上的    id_rsa.pub    公钥进行配对,授权成功才可以提交代码。

在你的GitHub,后点击右上角的    New    SSH    key    按钮:需要做的只是在    Key    那栏把    id_rsa.pub    公钥文件里的内容复制粘贴进去就可以了(上述示例 为了安全粘贴的公钥是无效的),Title    那栏不需要填写,点击    Add    SSH    key    按钮就ok了。
我的pub格式文件是使用edit++打开的。

SSH    key    添加成功之后,输入    ssh    -T    git@github.com    进行测试,如果像我一样出现这些,无法确定真实性,可能你是为了快速进入GitHub改了一些东西,选择yes,就可以成功添加了。

添加    SSH    key    成功之后,我们就有权限向    GitHub    上我们自己的项目提交代码了

(1)

这样就把    test    项目    clone    到了本地,你可以把    clone    命令理解为高级点的复制,这个时候该 项目本身就已经是一个git    仓库了,不需要执行    git    init    进行初始化,而且甚至都已经关联好了 远程仓库,我们只需要在这个    test    目录下任意修改或者添加文件,然后进行    commit

地址在你的GitHub创建的test这里就可以查看项目仓库地址。注:上面是clone方法《最简单的方式》

扩展(在提交代码之前我们先要了解两个命令,也是上次的文章没有介绍的,因为这两个命令需要 跟远程仓库配合。
Push    :直译过来就是「推」的意思,什么意思呢?如果你本地代码有更新了,那么就需要把 本地代码推到远程仓库,这样本地仓库跟远程仓库就可以保持同步了。
代码示例:
git    push    origin    master
意思就是把本地代码推到远程    master    分支。
Pull:直译过来就是「拉」的意思,如果别人提交代码到远程仓库,这个时候你需要把远程仓 库的最新代码拉下来,然后保证两端代码的同步。
代码示例:
git    pull    origin    master
意思就是把远程最新的代码更新到本地。一般我们在    push    之前都会先    pull    ,这样不容易冲 突。

(2)关联本地已有项目    如果我们本地已经有一个完整的    git    仓库,并且已经进行了很多次    commit ,这个时候第一种方法就不适合了《我是用的这个方法》

地址是    git@github.com:CGmatt1369/test.git    , 而    origin    是给这个项目的远程仓库起的名字,是的,名字你可以随便取,只不过大家公认的 只有一个远程仓库时名字就是    origin    ,为什么要给远程仓库取名字?因为我们可能一个项目 有多个远程仓库?比如    GitHub    一个,比如公司一个,这样的话提交到不同的远程仓库就需要 指定不同的仓库名字了。
查看我们当前项目有哪些远程仓库可以执行如下命令:
git    remote    -v
 

当我执行Put到远程仓库origin时,出现上面的error: failed to push some refs to 'git@github.com:CGmatt1369/test.git',因为之前有个push操作了

这是我之前操作过的push,并没有错误。如果你也是有过我这种错,下图是我改正的:

--rebase,是复位,取消之前的操作,重新push了一下,结果上传成功。那么可以在自己的GitHub的test项目里查看了。

远程仓库已经有了一个a.md。下面的test.txt是我第二次熟悉过程新添加的。可能有些问题,毕竟了解不是很深。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢慢CG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值