
本文共 3381 字,大约阅读时间需要 11 分钟。
之前没接触过Git,但是总会在GitHub中观摩一些源码学习,尤其临近毕业设计,基础不好只得学习啊。
此文章很多观看了: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是我第二次熟悉过程新添加的。可能有些问题,毕竟了解不是很深。
发表评论
最新留言
关于作者
