- Git是分布式版本控制系统(可以理解为文件管理拓展工具)
- github一个在线文件托管系统(可以理解为一个在线云盘)
准备工作,在git官网下载git软件件,安装git软件,以windows.为例,下载好文件打开,只需一路next就ok
到github官网注册github账号;注册好的页面差不多这样;
点 Start a project,第一次打开,提示需要验证你的邮箱,也就是注册时的邮箱,验证完邮箱后,新建一个project
填好name 我这里就叫origin好了,一定要点上下面的复选框
这边我建了一个origin名字的project,也就是常说的一个库;
然后打开clone or download 倒三角复制那行url.后面git要用到很关键;
在这个库里面,我们也有新建文件,上传文件,下载文件;等等功能,也就是你不用git,直接将你的电脑本地项目文件批量传送到github保存,也是可以的,同样起到分享与备份的作用,但如果本地文件太多修改太频繁的话,显然不太方便;
好了,开始使用git了;第一步在电脑中新建一个文件夹;这里,我以d:/vs文件夹为例
打开d:vs文件夹,鼠标右键,打开git bash here;
输入命令
git clone https://github.com/almslfniswd/origin.git 这上地址就是你上一步所提制的地址,根据每人的账号情况修改
git clone(命令即是从github上下载一个库到本地) 你下载好这个库到本地,你的本地文件夹就会多出一个origin文件夹(你之前在github建立的project名);
为什么这么做?因为git从github下载,是不需要任何配制的, 你下载下来后,git就会自动帮你生成配制文件,也就是你的git已经配制好了,之前的在线库origin已经是本地库origin
现在可以直接使用你的git,当然本地使用已经下载已经没有问题了,那么在本地修改,与github库同步怎么办?也就是在我本地origin下做的项目怎么同步到github,之前已经说过,可以直接在github网站上传,但这不太方便,现在用git命令行上传同步本地库到github
我们在刚下下来的origin文件夹下新建一个text.txt文件;
在文件夹下右键git Bash here 打开命令窗口(注意一定是要在origin目录里面打开,之前是在d:vs目录,现在是对origin的库进行操作,所以一定要进入origin文件夹内)
git add text.txt //此时没有任何反映
git commit -m "新建了一个文件"
//此时会有一个错误提示,大体内容是让你告诉他你是谁,这时命令窗口会有命令提示,
git config --global user.email "userEmail@qq.com"
git config --global user.name "Name"
照抄一遍,把,userEmail@qq.com,与Name改成你github账户名即可;一行一确定
之后再输入一次
git commit -m "新建了一个文件"
命令解释
git add text.txt 是将text.txt文件添加到库缓冲区
git commit 是将缓冲区文件提交到git本地库核心区 -m 为提示文本,也就是你想对这个文件的改动说明
现在可以同步到github了输入命令
git push //将本地库核心区域未同步的内容同步到github上,当然同步在github上也是在github的origin文件夹内
好了回到github网页看看,是不是已经多出了一个text.txt文件呢;
提示,上文件设置email与name 的命令行 --global意思,也就是设置一次永久有效
那么以上就是在github新建库在本地修改上传同步的方法,那么如果是以前已经写好的项目,要保存到github,就得用以下步骤!
在github 新建工程
一定不能打勾,名字任意可以与本地文件夹不同名,点创建
之后网站上就会出现这个页面,没错,很贴心
在要上传到github的项目文件夹上,右键打开,git Bash here 照着提示命令一行一行抄就是了(每个人生成的不一样,不是按我这个抄哦,是你的提示页面上的内容)
注意的是,git add README.md 可以改成 git add 你想上传到文件名,多文件 可以用git add . 传送当前目录全部文件
这样你的本地项目也就与github 我这里是text项目同步了,如果有修改,下次同步,只需,将修改部分,git add 修改部份,git commit -m "修改说明" , git push 上传同步就好了
最后,说一下git push 命令吧
网上千篇一律全是这种解释:(一本正紧的胡说八道)
然而github 官方帮助文档确是,这么说的
git push 远程主机名 本地分支名 : 远程分支重名命 git push origin master : remaster 没错,上传文件后,将本地的分支名重命名为remaster ,也就是本地库的分支名(理解成总文件夹名),在github上会给重命名成最后一个参数,秒懂,在没看到帮助文档之前,查git push ,那一个绕口令式的解释说明.....我是蒙了
再说一下,ssh-keygen 吧,这个只是git连接github提供的一种连接方式之一,连接方式有url.ssh.file.等等,有兴趣的可以去查,但是看了很多教程,都是要用ssh,设置密钳,然而,ssh的连接方式只是给加了一个密码,用哈希算法,然而,很多教程都以为是必选项.更恐怖的是,在设置密码那一步确又都解释说,不用设置密码直接下一步,那你用这一步有什么用,不是画蛇添足,密码确实没什么用,本身就是个分享公开的平台;所以没有特殊要求就不用去折腾,那个ssh哈希密码了