github 配置和使用 ssh

2016-09-28  本文已影响1322人  thunderQin

github是代码管理的利器,他可以帮助你管理项目代码,如果你有开源项目,希望大家一起帮你完成,那么Github一定是首选。

作用

学一样东西应该先了解,它解决了什么问题,根据问题去思考他问什么要这样处理

  1. 解决了多人开发,代码共享的问题
  2. 解决了代码版本控制的问题。
  3. 解决了开源项目,代码冲突的问题。
  4. 可以集成到测试工具里面

入门

github 官网注册一个自己的账号

输入邮箱密码。。。。下一步

创建一个代远端库

两种方式,看图

初始化

ssh配置

*** 为什么要配置ssh呢 ***

问得好,因为不配置的话,谁都有权限提交代码到你的远程库,那你的代码和JN有没有区别

也可以用HTTPS的方式 克隆代码,每次提交到远程的是时候,需要输入账号密码(奔溃)

配置好ssh之后,就不需要每次都输入账号密码了

*** mac下 ***

先配置一个git 邮箱姓名

$ git config --global user.name "thunderqin"
$ git config --global user.email "549458812@qq"

配置好之后,执行下面的命令,得到密钥,就好像童话传说里面,开门需要一个口令密码,比如芝麻开门

ssh-keygen -t rsa -C “549458812@qq.com”

连续按三个确认,得到id_rsaid_rsa.pub文件

把id_rsa.pub的里面的密钥复制到git官网上面

然后就可以愉快的写代码了。

常用命令

** 克隆 **
进入自己的开发目录

git clone git@github.com:thunderqin/wx_app.git

这段代码不仅会把远端的README 克隆下来,还会将目录和远程建立联系 可以直接Push

** 添加修改 **

创建一个index.js文件

touch index.js

我们需要先添加修改到缓存区

git add index.js

提交

git commit -m 'add index.js'

发布

git push origin master

黑科技

需要设置当前目录的remote地址

首先初始化

git init

设置远端地址

git remote add origin git@github.com:thunderqin/wx_app.git

这样就可以直接pull代码了

git pull origin master

但是问题是每次拉取提交都需要指定分支 origin master
写多了就烦了

解决方法就是设置默认上游分支

git branch --set-upstream-to=origin/master master

这段代码的作用就是 把当前分支(master)指向远端master分支

这样pullpush就不需要指定分支了

其他常用命令

思考

答: 因为缓存区可以在你本地形成一个Log树,记录你所有的操作,你从远端fetch代码,也是存在缓存区,
而不是直接拉取到你本地。你可以把缓存区当成一个分支,就这么简单,有利于代码的管理。

每次修改代码之前需要执行

git pull origin master

** pull = fetch + merge **

fetch: 把远程的代码,合并到缓存区里(这个时候本地是没有任何修改的)
merge: 合并缓存区和本地代码

这种情况很可能是你开发的时候 没有pull最新代码 冲突了 解决的办法就是手动解决

*** 举个栗子 ***

<<<<<<< HEAD

code in master

=======

code in dev

>>>>>>> dev

**' <<<<<<' ** 代表冲突的开始
'>>>>>' 代表冲突的结束
把这段代码改成正确的代码就行,然后再次提交

新手老是搞不懂什么时候用rebase,这样说吧,你的commit 中和服务器中的有些commit不再同一时间轴上,即:你的有些commit要插入到服务器中的某些commit之间,这样就会造成代码的冲突。

解决的办法就是,新建一个分支temp,然后把temp的代码rebase过来,这样就保证项目的Log是在一个时间轴上。

著作权声明

原文地址: npm 模块开发教程 | 覃国雷的博客

上一篇 下一篇

猜你喜欢

热点阅读