设为首页 收藏本站
查看: 1076|回复: 0

[经验分享] 初学git:用git bash往github push代码

[复制链接]

尚未签到

发表于 2018-1-15 17:43:05 | 显示全部楼层 |阅读模式
  对于我来说,最开始使用github主要是为了使用它的pages功能展示demo。其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其实是各种原因下不了客户端,正好给我一个探索terminal方式的机会。

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

2、设置用户信息
  git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令(当然不设置也行,每次提交都是unknown... macOS 貌似会提交系统用户名):
  

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

3、获取密钥
  2017.02.15: 以下步骤可能会过时,或者仅适用于 windows 系统,可参考 https://help.github.com/articles/connecting-to-github-with-ssh/ 获取更详细步骤
  GitHub选择的默认通信方式是SSH(对SSH感兴趣的可以参考阮老师的文章SSH原理与运用(一):远程登录 SSH原理与运用(二):远程操作与端口转发),如果没有配置SSH key就只能clone代码不能push上去(只读),所以要先在Git里面生成SHH Key。如果在当前用户的第一级文件夹下有.ssh文件夹,说明以前可能使用过git,把该文件夹删除(或者先备份再删除,防止意外)。
  获得密钥:
  

ssh-keygen -t rsa -C "abc@gmail.com" //填写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 'add files' // 提交更新
  
git push origin master  // push到远端master上
  

  这样操作后文件就提交到远端去了! 注意只有最后一步和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简单使用教程
  • 公钥认证管理

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435408-1-1.html 上篇帖子: 四种常见 Git 工作流比较 下篇帖子: 【记录】GIT 常用命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表