一、安装Git Bash
首先是拥有自己的github账号,这个大家都已经具备了。github的作用类似于一个平台,大家都在各自的电脑完成工作,然后通过pull和push操作,将自己的代码和已有的代码合在一起。
为了能将本地的操作更新到服务器,我们需要安装一个git软件,拥有ubuntu系统的朋友可以跳过这一步。没有的请接着看下去。
由于git的官网是一个外国网站,所以下载速度实在是太过于感人,大家可以下载CSDN中有人分享的静态版本。
传送门 链接:http://pan.baidu.com/s/1pL3Ea3D 密码:jrbz
下载完成后安装,详细安装过程参考:
http://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.html
简化安装过程就是按要求不断地点下一步,安装路径最好是全英文路径,然后最后选择“Use Git Bash only”.
安装好后应该有这么个图标
二、ssh配置私钥(选读)
不配置私钥的话,可能你每次pull和push的时候都需要手动输入账号和密码,配置之后就不用了,辛苦一会省了以后的很多时间。
具体配置可以参考这个博客:http://www.cnblogs.com/-walker/p/7280192.html
执行ssh-keygen -t rsa然后得到你的密钥,在github的settings里面add一个新的key,博客写的挺清晰的,成功之后再配置一下本地的用户名和邮箱就好了(无需执行博客中的二的转换本地分支的操作)
三、创建github项目
打开github网站,在repositories里面创建一个新的项目
四、Git Clone
如果需要上传本地已有项目到云端,请直接跳到步骤五
头一次使用的时候,你需要将云端的项目下载(clone)到本地,具体操作如下:
选择你想创建项目的路径,最好还是全英文路径下。比如我选择了我本地的E:\java这么个路径
-
右键“Git Bash Here”,打开git软件,此时会显示我的路径信息
绿色的是你的用户名和你的电脑的名字,紫色的是系统是64位还是32位,黄色的是当前指向的路径,美元符号是操作前都会有的我也不知道代表啥意义。
- 从云端把项目clone下来,首先打开github找到你要下载的项目,由于目前还没有代码啥的,所以整个页面是这样的:
可以看到只有一个README目前,点击绿色的clone or download,下载的话会下载一个压缩包,但是没有git配置啥的,所以我们还是用clone,点击按钮会给我们一个ssh:
在git里输入“git clone git@github.com:ZaoZhe6666/Room317.git”
回车,显示
这个时候我们看本地路径里,已经多了一个新的文件夹:
4 通过cd命令打开文件夹,我们会看到一个蓝绿色的master,这说明我们clone成功了:
五、上传本地文件夹到github
如果已执行了四的git clone,该步骤可跳过
本地已有一个项目文件夹,需要更新到刚才创建的项目中,只需要依次执行以下命令(需提前找到项目的ssh地址)
git init
git add --all
git commit -a -m 'first commit to init'
git remote add origin 项目地址
git push -u origin master
六、使用git来上传你的本地修改
Git上传的时候不是立刻上传的,会有一个缓冲用的工作台,这个过程会用到以下几个命令(用A表示本地操作,B表示工作台,C表示云端github)
为了给大家举例子,我们在Room317的路径下新建一个文件example.txt,并在里面写上CJ是白痴这样亲切的问候话语。
git add,add是添加一个或多个文件到工作台,类似于将A的文件更新到B中。我们可以用 git add example.txt,也可以使用git --all一口气把本地所有的修改都加载到工作台(这个操作有可能会引来一些冲突,比如你为了方便而顺手改了队友的一些代码的时候,最好单独add你自己修改的文件,不然当别人发现自己的工作被你洗掉的时候你可能会被打,注意--all是两个横道)
git commit,commit是将工作台的文件记录一下,大概是这么解释吧,我上课没有认真听,github的特点是你所有的commit提交都会有记录:
具体如图,点击就可以看到所有的过往的提交和修改记录。
这个的完整格式git commit -a -m “word”,-a表示把所有工作台里没有记录的文件都记录一下,-m表示给这个记录起一个名字,word就是普通的字符串,你可以随意修改成一个有意义的名字,以后查找之类的也会比较方便。
git pull,pull是拉,就是找到云端文件和本地文件的不同,把云端的数据更新下来,具体点说,pull操作不是单纯的用云端文件覆盖你的文件(二进制文件确实会被这样覆盖),大多数可以用记事本强行打开的文件,都可以用github的pull操作进行内部的具体修改
git push,没啥好说的,就是把本地的记录push到云端。
简单画个图来表示pull和push就是这样:
时间轴的顺序是:甲和乙pull下来了云端的数据->甲pull云端数据后push本地修改->乙pull云端数据后push本地修改
如果甲和乙同时修改了“太 了”部分,且没有pull合并云端修改的话,那么在push的时候,github很有可能会报错,提示出现复杂的冲突,所以在操作git push前,请大家先执行一句git pull
可能大家这个时候还是蒙的,所以放一个完整的例子上来,大家可以对照着上文看:
执行完了我们可以去github上看我们的项目
此时多了一个commit记录,并多了一个example文件
七、命令行操作基础指令(部分选读)##
命令行操作在很多地方都可以用,比如咱们安装的git bash,或者cmd打开的运行
简单介绍几个文件操作的命令吧
“cd”:打开操作,用在转换路径,这个操作只能打开文件夹,而不能具体打开某个文件。上面打开那个Room317的文件夹就是用的cd指令
“cd ..”:cd打开两个句号,向上返回一个文件夹,这是你反悔了想往后退执行的操作
“cd ~”:返回到根目录,这个没啥必要掌握我觉得,因为根目录不一定就方便跳转
“cd d:/”:从c盘下跳转到d盘,直接打开d的目录就行
“ls”:展开当前指向的目录下的所有文件及文件夹,一般用在你cd打开着打开着忽然忘了名字的时候
“grep -r -l -n “xxx” ./*”:grep指令很有用,我这个指令的含义是在当前目录及所有子目录下所有文件及文件夹中,寻找字符串“xxx”,你也可以去百度查grep的其他操作
至此,基础内容已经结束了,你已经可以快活的搞项目了。后面内容可学可不学。
“rm”:就是remove的简写,删除文件,其实你大可以直接打开那个路径然后删掉你想删掉的文件
“vim xxx”:刚才的cd是打开某一个文件夹,这个操作是打开文件xxx:
在命令行中,文件和文件夹的颜色不同,vim可以打开可以打开的文件(此处不去考究什么文件打不开),打开之后是这样的:
上面的内容是你的代码,下面的无限的波浪线是未编辑的行
点击键盘“i”键,进入编辑模式,点击键盘“ESC”退出编辑模式,输入“:q”直接离开文件,输入“:wq”保存并离开文件