github
网站,社交平台,开源项目,远程仓库
官网:https://github.com/
windows
可视化
命令行(推荐)
git
git是什么
git是目前世界上最先进的分布式版本控制系统(没有之一)
git有什么特点
简单来说就是:**高端大气上档次**
设置
配置用户名和密码:
git config --global user.name '你的用户名'
git config --global user.email '你的邮箱'
通过 key 关联本地库和远程库
github 账号请自己注册
提交到github其实很简单,就三步:
- 在GitHub上创建一个新仓库
- 把本地仓库于GitHub仓库进行关联
- 把本地仓库的内容推送到GitHub和从GitHub上拉取代码下来
下面请看详细介绍:
1、在GitHub 上创建一个新的仓库
登录自己的github账号,点击绿色按钮 new repository 进行新建一个项目
这个复选框是否使用自述文件初始化此存储库,如果您要导入现有存储库就不要勾选了,我这里就勾选以下吧,然后绿色按钮创建
2、本地仓库和远程仓库的链接
由于本地git仓库和Github仓库之间的传输是通过SSH加密的,所以,需要一点设置:
创建SSH Key。在用户主目录下,(C:\Users\zhoujin),看看有没有 .ssh 目录,如果有,在看看这个目录下有没有 id_rsa 和 id_rsa.pub这个两个文件,如果有了,直接执行下一步,如果没有请执行以下操作;
没有id_rsa.pub 的童鞋在window环境下(桌面)右击鼠标打开 Git Bash ,创建SSH Key:
ssh-keygen -t rsa -C "你的邮箱地址"
现在在看一下你有没有id_rsa.pub这个文件
登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。
如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。
ps: 当你第一次使用git的clone或push命令连接GitHub时,会得到一个警告,这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
现在才是重点,进入关联步骤:
这里可以看到自己新建的仓库的 SSH 链接复制下来
git remote add origin git@github.com:aizhoujin/zhoujin.git
ps :注意把后半截改成自己的链接哦
在你的电脑创建一个工程目录,进入到目录右击鼠标打开 Git Bash 执行 git init ,之后可以看到.git文件(不显示的请自行设置电脑“显示隐藏目录”)说明成功;这里面所有的文件都可以被git管理起来,每个文件的修改都可以被追踪;
注意:请确保目录名为英文,包括父级目录;.git文件是用来跟踪管理版本库的,不要手动修改删除;
建立一个文件放到仓库中,例如readme.txt
git status 查看当前工作区已确定要提交哪些文件 状态(红色:在工作区;绿色:暂存区)
开始上传
- git add 文件名称/. “.”代表全部
- git commit -m -a '本次修改注释' 提交到版本库(推荐)或使用 git commit -m "first commit" 省略掉add命令,直接提交到版本库
- git push -u origin master 推送到远程仓库
备注:输入密码的时候是“盲输”即可,小黑窗不会显示你输入的内容
从仓库拉取:
git clone git@github.com:aizhoujin/zhoujin.git
GitHub地址类型:
GitHub给出的地址不止一个,还可以用git@github.com:xiaosi0707/09A.git这样的地址。实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。
ps:
取消本地库和远程库的关联:git remote remove origin
查看远程库详细信息: git remote -v(如果没有推送权限就看不到push地址)