Github在windows7环境下使用入门

1.下载并安装

下载和安装一般都没什么问题,网上的链接一大堆,不过还是在此给一个安装的地址安装的参考吧。

当然,安装完成后要保证git能使用,必须配置github

2.配置github

  • 首先是要创建本地ssh,具体命令如下:
ssh-keygen -t rsa -C youemail@xxx.xxx

生成过程中会让你输入用户名和邮箱,出现错误不要管,提示输入yes就好了,然后进入生成的ssh目录中,将公钥打开(一般名为id_rsa.pub),将其中内容复制到github个人主页的ssh(操作顺序见下图)

image

  • 验证是否配置成功

image

需要注意的是,由于github软件也可以为gitlab提供服务,本地生成的ssh密钥可能过期了,因此,当出现莫名其妙的错误的时候,可以尝试重新生成一下ssh key,比如,我曾经遇到过这样一个错误:

无效的操作:GIT_COMMITTER_IDENT

原因就是之前我用别的邮箱生成过密钥,因为长时间没有用github了,所以当时也没反应出来是什么错误,花了好一会理清思路之后有两个解决方案:

  • 将之前公钥的内容复制进账户的ssh
  • 如果还不行,重新生成密钥,再复制进账户的ssh

 

3.关于Git bash

链接:一个完整的bash 配置过程

强烈推荐一个练习的好网址,图形化的

安装完成之后在电脑端会有两个程序,一个Git Bash ,一个Git GUI,如下:
image

Git Bash是一个命令行操作的类dos界面,在里面敲击命令就跟在linux里面敲命令是一样的,因此熟悉了git操作的话用Git Bash来操作也是很方便的。

一般来说,在github主页上建立了新的repository之后,在repository的主页有对应的bash命令教你如何第一次上传和更新。如我的一个项目给出的提示如下:

image

4.关于Git GUI

对于不熟悉Git语法的人来说,最简明的方法莫过于直接用图形化界面Git GUI了,它和Git Bash可以完成的功能是一样的,每个图形化的操作都对应着一个Git Bash的指令,下图是图形化界面的全貌:

image

其中右下方的几个按钮的作用解释如下:

重新扫描:顾名思义就是扫描本地改动

缓存改动:将改动保存到缓冲区

签名:加上签名

提交:提交到本地仓库,需要加上提交时的说明信息

上传:上传到服务器,当然需要有github账号

5.一个使用的例子

我写了一个二叉树的算法框架,代码组织是这样的,在D:\codesep\…\Src下面有我要管理的代码,分别放在两个文件夹中,一个为include文件夹,一个为cpp文件夹。如下所示:

image

当我启动Git GUI时,我选择创建一个新的版本库(create  a new repository)

image

选择D:\codesep\…\Src为本地目录,然后在此目录下多出了一个.git的文件夹,如下:

image

这之后D:\codesep\…\Src中的文件都会出现在下面界面的“未缓存的改动”一栏中,点击缓存改动(会提示你确认是否stage),文件转移到缓存的改动中。

image

缓存前:                             缓存后:

image        image

 

点击“提交”,代码进入本地版本库。圈出来的红色框中会显示你的提交信息。

image

 

这些都好办,接下来是“上传”,上传按钮点击之后又如下界面。

image

目前我对git还不是特别了解,所以只解释源端分支和目标版本库:

源端分支是本地版本库的一个分支,因为目前我们只有master,即主分支,只能选这一个,目标版本库git@github.com是一样的表示github服务器,后面的一个是github的账户名(obalama是我的账户名),一个是在github上托管的版本库(比如说我有个版本库是BinaryTreeFrame,那么目标版本库的写法就是上述写法),点击“上传”按钮,输入ssh密码(第一步里面配置的密码)

image

成功之后显示如下:

image

有时候不成功就多试几次,可能是网速不好,也可能是因为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
//最后完成push
git push origin master

image

6.说明

实际上GUI操作都有等效的bash操作,以上面的例子作类比,等过几天有了时间再总结一个类比。

7.参考

posted @ 2013-09-21 01:04  曾见绝美的阳光  阅读(1143)  评论(0编辑  收藏  举报