您的位置:首页 > 运维架构 > Shell

初学git:用git bash往github push代码

2015-08-05 11:57 691 查看
对于我来说,最开始使用github主要是为了使用它的pages功能展示demo,比如这样。其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其实是各种原因下不了客户端,正好给我一个探索terminal方式的机会。

1、github账号注册 %26amp; msysgit的安装

言归正传,简单介绍下怎样利用git bash操作远端的github代码。首先得有git和github的基本概念,git是版本控制工具,而github相当于一个“免费”的服务器了(一般公司会搭建自己的git服务器)。然后可以注册个github的账号,很简单,分分钟注册完。之后,得在本地安装git for windows,安装完后,你会发现多了git bash和git gui,顾名思义一个是terminal方式一个是图形用户界面的方式。

2、设置用户信息

git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:

$ git config --global user.name %26quot;hanzichi%26quot; //给自己起个用户名
$ git config --global user.email  %26quot;abc@gmail.com%26quot; //填写自己的邮箱

3、获取密钥

GitHub选择的默认通信方式是SSH(对SSH感兴趣的可以参考阮老师的文章SSH原理与运用(一):远程登录
SSH原理与运用(二):远程操作与端口转发),如果没有配置SSH key就只能clone代码不能push上去(只读),所以要先在Git里面生成SHH Key。如果在当前用户的第一级文件夹下有
.ssh
文件夹,说明以前可能使用过git,把该文件夹删除(或者先备份再删除,防止意外)。

获得密钥:

ssh-keygen -t rsa -C %26quot;abc@gmail.com%26quot; //填写email地址,然后一直“回车”ok

打开本地..\.ssh\id_rsa.pub文件。此文件里面内容为刚才生成的密钥。然后把该密钥复制到github的setting/ssh中,点击打开页面的add SSH key按钮,title任意,把key值复制进去。

经过上述配置,你的Git应该可以通过SSH连接GitHub服务器了,可以测试一把(配置完SSH key后,就表示本地能操作该用户下的库,能提交代码了):

ssh -T git@github.com

提示像我这样:Hi hanzichi! You've successfully authenticated, but GitHub does not provide shell access. 那就说明连接成功了。

4、远程操作

确认本地和github的服务器可以通信后,就可以拉代码、push代码了。

可以使用现有的项目或者fork的项目,这里为了测试,我新建了个helloworld项目,然后打开git bash,进入自己要克隆文件的目录,用git clone命令把该项目克隆到本地。

git clone git@github.com:hanzichi/helloworld.git

推荐用SSH的地址,而不是HTTPS,这样就不用每次输用户名密码了。

克隆完后,打开helloworld文件夹,里面有个隐藏的
.git
文件夹,还有个README的md文件,这是在创建项目的时候设置添加的。接着就可以往里面添加文件了。比如我在helloworld文件夹下写了一个index.html文件和一个index.js文件,我要把它们添加到远程项目库中。

git add . // 要add的文件,. 表示添加所有
git commit -m %26#39;add files%26#39; // 提交更新
git push origin master  // push到远端master上

这样操作后文件就提交到远端去了! 注意
4000
只有最后一步和github有关!

notice

这里再提点别的,还是像以上操作在github创建了一个helloworld项目,可以不先克隆,而在本地创建一个helloworld文件夹,右击文件夹用
git init
命令初始化git环境,然后添加文件,push时在commit后多执行一步:

git remote add origin git@github.com:hanzichi/helloworld.git

如果出现错误,提示:fatal: remote origin already exists 则可直接push

如果在执行 git push origin master 时报错:error:failed to push som refs to.......

则可先执行:

git pull origin master

先把远程服务器github上面的文件拉先来,再push 上去。

参考

关于初学者上传文件到github的方法

git/github学习笔记

github简单使用教程

公钥认证管理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: