1 安装Github
2 安装msysgit
3 要配置用户名和油箱
git config --global user.name <用户名>
我的命令就是:git config --global user.name mchdbagh
git config --global user.email <油箱>
我的命令就是:git config --global mchdba@yahoo.com
4 验证有没有连接上remote远程服务器
ssh -T git@github.com
5 要生成ssh key
$ ssh -keygen
看到需要输入密码的,直接2个回车键即可回到主窗口。
去找.ssh里面的id_isa.pub打开,最好用notepad++打开,的里面的内容copy出来,然后放到https://网址里面,加入
如何生成,请看文档详细介绍。http://www.worldhello.net/gotgithub/index.html#id6
Git常用命令介绍
git init --初始化项目,刚开始初始化项目的时候使用
git clone --从服务器上克隆到本地,如果服务器上面已经有项目了,直接使用这个命令clone到本地进行使用。
git status --查看版本信息
git add --添加本地文件
git commit --提交更改
git push --tags --将更改推送到服务器
(1) git init操作
看到有.git文件
(2) git clone操作
登陆 https://github.com/,看右下角,如图下图,找到打开库的网址把提示mchdbagh/manual56加到后面,网址就是 https://github.com/mchdbagh/manual56
打开后,点击右下角的HTTPS clone URL栏目下方的复制按钮,就得到了库的clone地址 https://github.com/mchdbagh/manual56.Git,如图所示
也可以选择ssh方式:git@github.com:mchdbagh/manual56.git
git clone git@github.com:mchdbagh/manual56.git;
打开 git clone git@github.com:mchdbagh/helloworld.git
如果需要自定义一个目录名,可以写成 git clone git@github.com:mchdbagh/helloworld.git test_hw
检测是否clone成功,看到有manual56目录是否存在
(3) git add 操作实验
添加文件add
git add 17.5.0.0.0.md添加单个文件,多个文件可以用空格来隔开,比如(git add 17.5.0.0.0.md 17.5.0.0.1.md 17.5.0.0.2.md),也可以使用git add -A添加所有的文件。
手动用MarkdownPad打开C:\Documents and Settings\skyman\manual56\docs\Chapter_17\17.5.0.0.0.md,在里面输入中文字符串,保存退出。然后查看版本库状态,显示绿颜色的表示已经缓存起来了,显示红颜色的是修改过的但是没有缓存起来的。
(4) git commit,修改完之后,进行commit提交git commit -m "Test change", -m 是指定提交信息,必填项目
""内部表示注释内容,即git修改内容。
PPS:
介绍一下git pull
git pull即把代码更新到本地,经常会遇到这种错误
error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。
a) 先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息
其中stash@{0}就是刚才保存的标记。
b)pull内容
暂存了本地修改之后,就可以pull了。
c)还原暂存的内容
$ git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突
d)解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了
git pull后再
(5)把已经修改的文件push到服务器,git push --tags --push所以缓存到本地服务器的文件。
OK成功了,然后打开网址https://github.com/xxxxxx/blob/master/docs/Chapter_17/17.5.0.0.0.md去看提交的新内容,见图片所示,新建立的文件17.5.0.0.0.md已经成功上传到remote文件服务器了。