Github在windows7环境下使用入门
1.下载并安装
下载和安装一般都没什么问题,网上的链接一大堆,不过还是在此给一个安装的地址和安装的参考吧。
当然,安装完成后要保证git能使用,必须配置github
2.配置github
- 首先是要创建本地ssh,具体命令如下:
ssh-keygen -t rsa -C youemail@xxx.xxx生成过程中会让你输入用户名和邮箱,出现错误不要管,提示输入yes就好了,然后进入生成的ssh目录中,将公钥打开(一般名为id_rsa.pub),将其中内容复制到github个人主页的ssh(操作顺序见下图)
- 验证是否配置成功
需要注意的是,由于github软件也可以为gitlab提供服务,本地生成的ssh密钥可能过期了,因此,当出现莫名其妙的错误的时候,可以尝试重新生成一下ssh key,比如,我曾经遇到过这样一个错误:
无效的操作:GIT_COMMITTER_IDENT
原因就是之前我用别的邮箱生成过密钥,因为长时间没有用github了,所以当时也没反应出来是什么错误,花了好一会理清思路之后有两个解决方案:
- 将之前公钥的内容复制进账户的ssh
- 如果还不行,重新生成密钥,再复制进账户的ssh
3.关于Git bash
安装完成之后在电脑端会有两个程序,一个Git Bash ,一个Git GUI,如下:
Git Bash是一个命令行操作的类dos界面,在里面敲击命令就跟在linux里面敲命令是一样的,因此熟悉了git操作的话用Git Bash来操作也是很方便的。
一般来说,在github主页上建立了新的repository之后,在repository的主页有对应的bash命令教你如何第一次上传和更新。如我的一个项目给出的提示如下:
4.关于Git GUI
对于不熟悉Git语法的人来说,最简明的方法莫过于直接用图形化界面Git GUI了,它和Git Bash可以完成的功能是一样的,每个图形化的操作都对应着一个Git Bash的指令,下图是图形化界面的全貌:
其中右下方的几个按钮的作用解释如下:
重新扫描:顾名思义就是扫描本地改动
缓存改动:将改动保存到缓冲区
签名:加上签名
提交:提交到本地仓库,需要加上提交时的说明信息
上传:上传到服务器,当然需要有github账号
5.一个使用的例子
我写了一个二叉树的算法框架,代码组织是这样的,在D:\codesep\…\Src下面有我要管理的代码,分别放在两个文件夹中,一个为include文件夹,一个为cpp文件夹。如下所示:
当我启动Git GUI时,我选择创建一个新的版本库(create a new repository)
选择D:\codesep\…\Src为本地目录,然后在此目录下多出了一个.git的文件夹,如下:
这之后D:\codesep\…\Src中的文件都会出现在下面界面的“未缓存的改动”一栏中,点击缓存改动(会提示你确认是否stage),文件转移到缓存的改动中。
缓存前: 缓存后:
![]()
点击“提交”,代码进入本地版本库。圈出来的红色框中会显示你的提交信息。
这些都好办,接下来是“上传”,上传按钮点击之后又如下界面。
目前我对git还不是特别了解,所以只解释源端分支和目标版本库:
源端分支是本地版本库的一个分支,因为目前我们只有master,即主分支,只能选这一个,目标版本库git@github.com是一样的表示github服务器,后面的一个是github的账户名(obalama是我的账户名),一个是在github上托管的版本库(比如说我有个版本库是BinaryTreeFrame,那么目标版本库的写法就是上述写法),点击“上传”按钮,输入ssh密码(第一步里面配置的密码)
成功之后显示如下:
有时候不成功就多试几次,可能是网速不好,也可能是因为github国内服务不稳定,待成功后,github的web页面上会显示出上传的版本库信息:
需要注意的是,如果在github主页上建立repository时选择了创建readMe.md或者.gitignore等文件时,用图形界面在最后一步输完密码开始push时会报错:
“Github “Updates were rejected because the remote contains work that you do not have ”
这时候只能借助bash来将这些文件先同步到本地仓库,然后再次push,具体命令如下
git remote add origin + git_url//(例子:git remote add origin https://github.com/obalama/VelocityHelloworld_2.git)//然后将github上的文件拉到本地git pull origin master//最后完成pushgit push origin master
6.说明
实际上GUI操作都有等效的bash操作,以上面的例子作类比,等过几天有了时间再总结一个类比。
7.参考
Github在windows7环境下使用入门的更多相关文章
- Windows7环境下Composer 安装包的Cache目录位置
http://segmentfault.com/a/1190000000355928 https://getcomposer.org/doc/ 要说Composer的用法,以后再说,现在只记录wind ...
- windows7环境下 硬盘安装ubuntu 12.04 server版
之前一直用windows7环境下的虚拟机装的操作系统,但有时候在切换系统时老是死机,还是装一个硬盘版的ubuntu 12.04 server吧 先说一下本人的环境吧:windows 7 32位专业版+ ...
- Python3.5在Windows7环境下Scrapy库的安装
Python3.5在Windows7环境下Scrapy库的安装 忙活了一下午,总算是把Scrapy库给装完了,记下来给需要帮助的人 首先安装的环境:Windows7 64位 Python的版本是:3. ...
- Windows7环境下Excel2010中图片超链接默认打开程序修改
在Windows7的环境下,打开Excel2010超链接图片,都是默认用IE打开.搜索了所有的中文网络,没有找到解决方案,且发现受此困扰的人不少.后来用纯英文搜索,终于找到解决方案并尝试成功. 1,操 ...
- windows7环境下使用pip安装MySQLdb for python3.7
1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python37\Scripts里 ...
- windows7环境下使用pip安装MySQLdb
1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python27\Scripts里 ...
- WINDOWS7环境下Informatica的安装[新手]
环境: 操作系统:Windows7(64位): 数据库:Oracle 11g R2: 数据库字符集:UTF-8 一.下载: (参考链接:https://blog.csdn.net/u011031430 ...
- Windows7环境下Apache连接MySQL提示“连接已重置”的解决办法
win7下手动搭建wamp环境,碰到的几个坑总结下, 1.能正常访问php和html类型文件,但是访问项目文件时老是连接被重置,后来总结是数据库的问题,就写测试用例测试php能否成功调用数据库, &l ...
- paper 52 :windows7环境下theano安装
要做卷积神经网络的一些东西,所以要装theano,网上很多Theano安装教程版本较老,而各安装包更新很快,参考价值有限.走了很多弯路才装好,把这个过程记录下来,希望对大家有帮助~ ~ 我的配置:wi ...
随机推荐
- springmvc 中常用的注解配置使用说明
很久没有用springmvc了,今天复习了一下,然后记录一下总结. @Controller 使用 @Controller 注释对将成为 MVC 中控制器的类进行注释并处理 HTTP 请求. @ ...
- 两个学生OJ差集
这个程序非常简单,因为用了最笨的办法,不过运行一点儿也不慢... 在我们学校OJ平台每个人的个人信息中都有Solved Problems List,我们可以用这个简单的程序输入两个人解决问题的所有题号 ...
- MVC列表页通过CheckBox进行批量选择删除
1.Html代码,将所有CheckBox包含于删除表单,并且所有列表项的CheckBox使用相同的Name,并且Value设置为数据项主键ID @using (Html.BeginForm(" ...
- python 捕获 shell 脚本的输出结果
import subprocessoutput =Popen(["mycmd","myarg"], stdout=PIPE).communicate()[0] ...
- 使用Gradle构建android应用
介绍: 由于Android Studio使用的构建工具是Gradle,所以如果Eclipse和Android Studio想互相构建彼此的应用,必须使用Gradle. Gradle 是以 Groovy ...
- WP7应用版本升级的实现方法
首先必须要有一个服务提供升级推送查询 // Code to execute when the application is launching (eg, from Start) // ...
- UVa 247 Calling Circles【传递闭包】
题意:给出n个人的m次电话,问最后构成多少个环,找出所有的环 自己想的是:用map来储存人名,每个人名映射成一个数字编号,再用并查集,求出有多少块连通块,输出 可是map不熟,写不出来,而且用并查集输 ...
- poj 1236 Network of Schools(强连通、缩点、出入度)
题意:给出一个有向图.1:问至少选出多少个点,才能沿有向边遍历所有节点.2:问至少加多少条有向边,使原图强连通. 分析:第一个问题,缩点后找所有树根(入度为0).第二个问题,分别找出入度为0和出度为0 ...
- 2015-10-15 晴 APUE GIT
昨天看完了tcp/ip协议,快速的看完了这些内容,而且这里面的东西以前很熟悉,今天只是大概一看就想起以前用到的,什么时候用到的,以前在企智通上出过什么问题,后来如何解决的.我都有点佩服我的记忆.网络协 ...
- application tips
trace(ApplicationDomain.currentDomain == ApplicationDomain.currentDomain); trace(stage.loaderInfo.ap ...