之前一直有听说github,一个被称为程序员的交友网站,我作为一个程序猿,不去浏览一下是不可能的,进去的第一个感受——哇!全英文!(原谅我英语水平真的有限)
在浏览了一段时间后,也对github有了一定的了解:
一个面向开源及私有软件项目的托管平台,只支持git 作为唯一的版本库格式进行托管。
想到我一直需要一个管理和储存并可以分享代码的地方,github真是太合适了,立马就想要创建一个github的远程仓库,话不多说开始动手,终于搞了整整一天,基本完成了想要的结果。
对于这一天的无数次尝试,感受便是,设置命令真简单,但真的很难设置,总是在奇怪的出错,也是挺无语的。
好吧,我承认我是一个新手了,所以在这里,我就不写Git的教程和指导了,仅仅分享一下初次使用Git并将github上的远程仓库和本地仓库关联过程中出现的问题和解决方法。
由于出现的问题比较比较零散,就一个一个的慢慢说吧!
首先,要明确的是Git需要自己下载安装,安装过程基本如下:
在Windows下安装(Linux的话打算之后再尝试,先在windows下试一试,毕竟之前代码都是在windows里面存放的)
在官网下载Git,并安装
在开始菜单里找到“Git”->“Git Bash”
输入如下命令
$ git config --global user.name "Your Name" $ git config --global user.email "Email地址" //因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。 //git config命令的--global参数,用了这个参数,表示你这台机器上所有的 //Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
问题一:怎么用Git创建本地仓库?
创建本地仓库之前先来说一下为什么要来创建本地仓库,Git到底有什么用?
其实这个问题我也想了很久,在网上各种找答案,了解什么是Git?了解Git的作用?仓库到底是什么?
在这里我用最直白的话语来说一下我对Git的认识:
如果说将一个项目比作一场正在进行的大型闯关游戏,那么Git就像是这个游戏的一个存储功能。对于玩家们来说,拥有存储功能当然要比没有存储功能的游戏更加容易通关,有了Git,你可以将你当前的进度保存下来,并且推送到一段专门的存储空间,那么当你对目前的状态不满意,并想要回到以前的状态时,通过读取以前的存储记录就会非常方便。因此你可以进行无数的尝试,无论结果怎么样,反正我们是“游戏记录”的,可以随时“读取进度”,是不是觉得方便多了。
因此,有了Git你就可以尽情的修改你的代码,觉得不满意,就可以退回以前的版本,在尝试别的方法,Git的功能就是帮你保存你要保存的进度,并且在你先要读取进度时提供方便,当然,你也可以在退回之前的版本之后,再次回到最新版本,这也是可以的,毕竟我们都是有记录的嘛。
了解了Git我们对于仓库也就不陌生了,Git用来保存进度,那么总要有一个地方存储这些记录吧,因此我们就需要对我们想要控制的工程创建一个仓库,用来保存工程进度。
现在,我来简单介绍一下怎么创建本地仓库吧:
先创建一个文件夹,用来作为仓库使用。
在本地本地仓库里在空白处右击鼠标,找到 Git Bash Here,点击进入Git终端
输入
git init
便可以创建一个本地版本库。此时在该目录下会自动生成一个 .git 文件(是隐藏文件所以看不到),说明创建成功。
问题二:怎么在github上关联远程库?
关联远程库有两种情况:
1.已有本地仓库,需要在新建一个远程仓库的同时关联本地仓库。
2.已有远程仓库,需要关联本地仓库。
两种方法没有什么区别,只是在情况不同是采取的不同方法,在我们第一次使用时,我个人还是比较推荐第2种方法的,因此我主要来讲一下第二种情况下的使用:
登陆GitHub,然后,在右上角找到并创建一个新的仓库。
进去之后输入库名,完成创建操作。记得勾选
Initialize this repository with a README
,他会为你自动生成一个README,相当于一个说明。远程库创建完成后就要关联本地库了,在本地库下输入:
git remote add git@github.com:用户名/库名.git
此时完成关联
问题三:git的命令操作有哪些?
命令 | 描述 |
---|---|
git add 文件名 | 添加文件到Git仓库 第一步 |
git commit -m “描述” | 添加文件到Git仓库 第二部 |
git push 库名 分支 | 推送到远程仓库 |
git log | 查看版本 |
git log –pretty=oneline | commit id(版本号),HEAD指向的版本是当前版本 |
git reset –hard commit_id | 切换版本 |
git reset –hard HEAD^ | 切换上一个版本,并更新远程库 -f强制切换 |
git reflog | 查看命令历史 |
git pull origin master | 同步到远程仓库 |
git clone | 在本地克隆一个远程库 |
git remote -v | 查看远程库信息 |
git remote rm origin | 删除远程库 |
问题四:推送到远程库中途出现的问题:
使用git push
时报出如下错误
是因为由于你自动的修改了本地仓库的文件,使得本地仓库和远程仓库不同步了,这里的解决办法是,先git pull
一下你的远程仓库,首先保证你的远程仓库和本地仓库同步,在进行推送
问题五:远程仓库版本回退中出现的问题
在本地库中为了删除一些没用的新文件使用了版本回退命令,但是在推送到远程库时同样出现上面的出现的问题,在git pull
进行同步后,发现本地库的要删的的一些文件由回来了(毕竟要和远程库同步嘛,这时我都不知道做了些什么,好像又绕回来了。。)
这时的解决办法其实很简单,回退版本,在推动远程库时在命令后面加上-f,进行强制回退,问题就解决了。
到这里基本上将我遇到的一些问题和解决方法阐述了一遍,虽然其中的一些理解不一定是正确的,但还是想分享给大家,希望能够帮助到和与我一样的新手,同时希望大家对我的文章提出疑问或者质疑,我会非常感激!!
(Github真的很好用!)