Git 碰着的坑

简述

正文,目的在于因尽小的字数,来支援对生数据以及Spark感兴趣的伴侣,能快搭建筑一个可用之斯帕克(Spark)开发环境.力求言简意赅.小说,不敢自称BMR的顶尖实践,但绝好拉新家,急速入门,可以潜心为斯帕克(Spark)本身的上和实践.不适于之童鞋,可以先自己折腾下BMR,再回到来读这篇作品O(∩_∩)O哈!

  1. 没辙切换分支

    $ git add .

    $ git checkout function

    error: Your local changes to the following files would be overwritten by checkout:

     SwiftLearn/ViewController.swift
    

    Please, commit your changes or stash them before you can switch branches.
    Aborting

创建 BMR 实例

苟,你早已生矣一个由此证实的百度开发者账号,就比如类别第一篇稿子称的那么样.什么?没有?这基本,没有必要继续为生诵读了,前几天重新来吧.没有经过认证的百度开发者账号,应该是绝非权力创制BMR 实例的.

由来:ViewController.swift 中之公文提交后,commit
没有交到成功,需要交成功,才会切换来其余支出。

1.登录

网址是 https://login.bce.baidu.com/
填写账号和密码,我们还知情的.提出收藏下,应为百度开放云,搜索时,很轻受导流到百度云盘上,这是片只不等之东西.

1 $  git commit -m "clear viewDidLoad"
2 
3 $ git checkout function
4 
5 
6 M    SwiftLearn.xcodeproj/project.pbxproj
7 M    SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate
8 Switched to branch 'function'

2.充值


“管理控制台”,个人音信附近分栏下,有个”充值”按钮.至少应该保证账户余额是100处女,否则该是无力回天得逞开创BMR的.

 

3.创建BMR

点击顶部的成品服务 –> 百度MapReduce –> 创制集群.

图片 1

于开创BMR界面,”bos://”点击下拉箭头,新创即可;集群配置–镜像版本,要选
“BMR 0.2.0(hadoop 2.6”,否则不可能使openVPN访问;内置模板,采取”斯帕克(Spark)(Spark)”,其他自己随便刻画就可.当然,要协调牢记密码,等会儿还要因而之.

图片 2

虽如此,大概10秒钟后,就先导化完成了.在等待的立即段时间,提议您错过搜搜大数目要spark相关的议论,说不定会有额外收获.

  1.1 git add 几栽有别于

使用 openVPN 访问 BMR

倘,你本既来一个最先化完成的 BMR
实例.点击实例称,进入详情页,画风是这么的.

图片 3

图片 4

点击”工具下载”中之 openvpn-confi.zip
下充斥到地头,然后以教程配置即可,教程参见:
(https://cloud.baidu.com/doc/BMR/GettingStarted.html#.E4.BD.BF.E7.94.A8OpenVPN.E8.AE.BF.E9.97.AE.E9.9B.86.E7.BE.A4)[https://cloud.baidu.com/doc/BMR/GettingStarted.html#.E4.BD.BF.E7.94.A8OpenVPN.E8.AE.BF.E9.97.AE.E9.9B.86.E7.BE.A4]

OpenVPN服务才匡助访问镜像类型也Hadoop 2.6(bmr
0.2.0)的集群,也就是说要你的BMR实例中没”工具下载”一栏,表达你创设时镜像类型选错了.

安排好openVPN后,就好透过”节点新闻”中,各样节点的内网地址来走访了,紧要以的凡MASTER节点.此外,我意识布好openVPN后,我吗可以经内网地址直接看我之别百度云服务了,比如
云服务器,不是蛮规定里面缘由,难道皆以和一个机房? MASTER
节点,内网地址访问的画风一起感受下:

图片 5

此外,熟稔服务器基本操作的口,可能相会ssh登录Master节点.当然是一点一滴可的.一个BMR节点,是一个独的总体的服务器.我还于方配置了node开发条件,但是新兴虽无折腾了,因为此处理了数据就自由了,一贯开在太费钱.当然,当遇一些特殊问题之早晚,如故待团结ssh登录去处理的.比如,我之
zeppelin
服务,曾经崩溃了千篇一律不良,我只得协调ssh上去还启.客服也是得的,但这一点小事都解决不了,岂不是亮自己生LOW?!

1      git add -A  提交所有变化
2 
3      git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
4 
5       git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

行使 hue 导入数据到BMR

hue的顾地址为: 内网地址的8888端口,如
http://192.168.0.55:8888,画风是如此的:

图片 6

用户称和密码是于定义之,密码轻易,提出用户名填写 hdfs
否则导入的数量,待会儿不可能以zeppelin中拔取,这事关到一个用户组权限的题材.感兴趣之团结探究下,我非细说了.

点击 File Browser –> 上传 –> zip/tgz文件,然后择而昨日拍卖好的
职位数据文件即可.没能打响之童鞋,可以一贯去文首的github项目中下载:https://github.com/ios122/spark_lagou/raw/master/jobs.zip

图片 7

图片 8

图片 9

数量导入OK了.如果发现意识及污染得后,平昔卡在上传表单页不动,直接点叉叉号关闭就是吓了,它会后台解压的.

留神:git init后新加底公文,先使git
add才会纳入git版本库管理,否则新加文(Gavin)件呢无跟状态。即:与 git
管理没有由此,不长关系

动 zeppelin 读取数据

BMR 的 zeppelin 的劳务配置于 8093
端口,如http://192.168.0.55:8093/,这是本人打印出所有端口,排查出的,文档上未曾丝毫提及.不晓文档为何不提,但
zeppelin
不过最流行的斯帕克(Spark)交互式开发工具.第一次访问,会稍为慢.应该当开头化某些东西.

图片 10

Create New Note,然后起操练吧:

图片 11

图片 12

读取并打印结构的脚本:

val job = sqlContext.read.json("jobs")
job.registerTempTable("job")
job.printSchema()

初觉没有什么,可是仔细想念生,这然则几百个公文,里面是当真是好数据的.当然,真正神奇的地点,是读取之后,可以一直冲此展开各样复杂的会晤运算和分析.这是下同样首的核心了.

注意: 磨练完,注意放 BMR 实例,否则会直接计费的.

  1.2 git commit 区别

附:zeppelin 启动同重启的脚本

自己信任,你是来巨大可能,把 zeppelin 服务为挂的,当内存开销了大时

cd /usr/lib/zeppelin-0.5.0-incubating
bin/zeppelin-daemon.sh start
bin/zeppelin-daemon.sh stop

遵照体系专属github地址:https://github.com/ios122/spark_lagou

 

 1 //    对于已入版本库并且改动的文件,可以使用git commit -am "message",新文件需要先入版本库。
 2 //    也就是第一次你要 git add 将文件纳入版本库,后来再要修改不用 git add 了,直接用 git commit -am “123” 就可以了,将 git add省去了
 3 
 4 //   将一个文件 git add . 后,在对它修改
 5 
 6 //    第一种方法
 7 $    git commit -am "message"
 8 
 9 //    第二种方法
10 
11 $    git add .
12 
13 $    git commit -m "message"    

 

  1. 釜底抽薪争论后,合并际遇题目

    $ git merge function

Auto-merging 

SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate

CONFLICT (content): Merge conflict in 

SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate

Automatic merge failed; fix conflicts and then commit the result.

$ git branch -D function


//   当参数是 -d 时,对未合并的分支进行合并失败 

$ git branch -d feature-vulcan
error: The branch 'feature-vulcan' is not fully merged.
If you are sure you want to delete it, run 'git branch -D feature-vulcan'.
//   销毁失败。Git友情提醒,feature-vulcan分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用命令git branch -D feature-vulcan。

//   现在我们强行删除:

$ git branch -D feature-vulcan
Deleted branch feature-vulcan (was 756d4af).     

 

  1. 统一后仅仅留一个 master 分支,切换来其余一个支行上错

    1 $ git checkout -b develop
    2
    3 xxx needs merge
    4 error: you need to resolve your current index first
    5
    6 // 只生一个支了,还怎么统一,可能无交给,提交了下,成功了
    7 $ git branch
    8 * master
    9
    10 $ git commit -am “123”
    11 [master 3cadb9c] 123
    12
    13 $ git checkout -b develop
    14 Switched to a new branch ‘develop’

得针对统一后底分支举行付出,否则出错

 

4.重复合并撞

正常来说,你是将您出之那么条分支 develop 合并到 master ,不过当您拿
master 合并及 你出的 develop 上时时,会报错在终极,错误也抵触。

 1 $ git checkout -b developEnum
 2 
 3 $ git add .
 4 
 5 $ git commit -am "EnumFolderAndSwift"
 6 
 7 $ git merge master
 8 
 9 $ git checkout master
10 
11 $ git status
12 
13 On branch master
14 Your branch is ahead of 'origin/master' by 6 commits.
15 
16 $ git checkout developEnum
17 
18 $ git merge master
19 
20 error: Your local changes to the following files would be overwritten by merge:
21     SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate
22 
23 Please, commit your changes or stash them before you can merge.
24 
25 Aborting
26 
27 $ git commit -am "enum1"
28 
29 [developEnum 24d2739] enum1
30  1 file changed, 0 insertions(+), 0 deletions(-)
31 
32 $ git merge master 
33 
34 warning: Cannot merge binary files: SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate (HEAD vs. master)
35 
36 Auto-merging SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate
37 
38 CONFLICT (content): Merge conflict in SwiftLearn.xcodeproj/project.xcworkspace/xcuserdata/huanggang.xcuserdatad/UserInterfaceState.xcuserstate
39 
40 Automatic merge failed; fix conflicts and then commit the result.

 

 

缓解措施,将都统一到 developEnumm 分支上的文书作为 master
,将其它未可知合并之分层删除掉,用 git branch -d <分支名>
是非凡的,因为会师提醒而闹争辨之类的,用强制删除 git branch -D
<分支名>

 

 1 $ git branch
 2 
 3  develop
 4 * developEnum
 5   master
 6 
 7 $ git branch -d develop
 8 
 9 error: The branch 'develop' is not fully merged.
10 If you are sure you want to delete it, run 'git branch -D develop'.
11 
12 $ git branch -D develop
13 
14 Deleted branch develop (was 1147815).
15 
16 // 将代码上传到服务器
17 
18 $ git push origin developEnum
19 
20 Counting objects: 77, done.
21 Delta compression using up to 4 threads.

 

 

  1. 自打服务器拉取不同分支报错

    1 $ git pull
    2
    3 error: Pull is not possible because you have unmerged files.
    4 hint: Fix them up in the work tree, and then use ‘git add/rm
    5 hint: as appropriate to mark resolution and make a commit.
    6 fatal: Exiting because of an unresolved conflict.
    7
    8 $ git branch
    9
    10 * developEnum
    11
    12 $ git commit -am “over1”
    13
    14 [developEnum 545beae] over1
    15
    16 $ git pull
    17
    18 There is no tracking information for the current branch.
    19 Please specify which branch you want to merge with.
    20
    21 // 报错原因是从未有过点名地点master和远程origin/master的连天,执行git branch –set-upstream master origin/master,设置链接
    22
    23 $ git branch –set-upstream developEnum origin/developEnum
    24
    25 The –set-upstream flag is deprecated and will be removed. Consider using –track or –set-upstream-to
    26 Branch developEnum set up to track remote branch developEnum from origin.
    27
    28 // 添加–set-upstream-to,这是肯比老方法,不对了
    29 $ git branch –set-upstream-to developEnum origin/developEnum
    30 fatal: branch ‘origin/developEnum’ does not exist //不存在
    31
    32 // 成功了!
    33 $ git pull
    34 Already up-to-date.
    35
    36 // 第一种 :推送代码到服务器,本地分支在 developEnum上
    37 $ git push origin developEnum
    38
    39 Counting objects: 14, done.
    40 Delta compression using up to 4 threads.
    41
    42 // 第而种 :推送代码到服务器,git push origin local_branch:remote_branch,这么些操作,local_branch必须也汝本地存在的旁,remote_branch也远程分支,如果remote_branch不存则会活动制造分支。git push origin :remote_branch,local_branch留空的口舌即便是剔除远程remote_branch分支

    43 $ git push origin developEnum:master
    44
    45 Everything up-to-date

 

  1. 于服务器拉代码有少数种植艺术

  6.1  本地分支和服务器的道岔相同,才会拉代码

 1 $ git checkout -b master
 2 Switched to a new branch 'master'
 3 
 4 //    报错
 5 $ git pull
 6 There is no tracking information for the current branch.
 7 Please specify which branch you want to merge with.
 8 
 9 //    正确从服务器拉代码或者 git fetch origin xxx 等价于  git pull origin xxx
10 $ git pull origin master
11 From github.com:WindAndSand/SwiftLearn
12  * branch            master     -> FETCH_HEAD
13 Already up-to-date.
14 
15 $ git branch
16   developEnum
17 * master
18 
19 //    推送本地分支到远程仓库
20 
21 $ git push origin master
22 Total 0 (delta 0), reused 0 (delta 0)
23 To git@github.com:WindAndSand/SwiftLearn.git

 

   6.2 建立地点分支和服务器分支相连

//    查看远程分支
$ git branch -r

  origin/baseOne
  origin/developEnum
  origin/master

$ git branch
  developEnum
* master

//    本地dev分支与远程origin/dev分支的链接
$ git branch --set-upstream developEnum origin/developEnum

//    拉取代码
$ git pull
From .
 * branch            developEnum -> FETCH_HEAD
Already up-to-date.

   6.2
在本土建一个分支和服务器举行映射,前提本地没有一个与长途服务器相同之分支

$ git branch -r

  origin/HEAD -> origin/master
  origin/MataRelease
  origin/a
  origin/correct
  origin/customupload
  origin/dev
  origin/dev-swift3.2
  origin/dev1.1.2
  origin/dev1.2
  origin/feature/adjust-font
  origin/feature/send-file
  origin/master
  origin/pjsip
  origin/rageshake
  origin/reconnect
  origin/release
  origin/sslsocket
  origin/tls
  origin/zimsdk


$ git branch -d adjust-font
Deleted branch adjust-font (was 2191110).

//    与远程服务器建立映射
$ git checkout -b adjust-font origin/feature/adjust-font
M    submodules/zimsdk
Branch adjust-font set up to track remote branch feature/adjust-font from origin.
Switched to a new branch 'adjust-font'

$ git pull
Already up-to-date.

$ git branch
* adjust-font
  master

 

 

7. 用当地的代码推送至服务器

 1 $ cd /Users/用户名/Desktop/
 2 
 3 $ cd GitDemo
 4 
 5 $ git init
 6 
 7 $ git add --all    //提交到暂存区
 8 
 9 $ git commit -m "提交文件到 master"
10 
11 $ git remote add origin git@github.com:WindAndSand/GitTest.git
12 
13 $ fatal: remote origin already exists.    //不是错误,告诉你 origin 已存在
14 
15 $ git push origin master:master 
16 
17 //    出现错误,制取其中一个如:
18 
19 $ Updates were rejected because the remote contains work that you do
20 
21 //    原因:造成这个错误是因为我在github上修改了自己的文件,在上传本地文件之前没有把github上的文件拉倒本地。意思是本地和远程的文件应该合并后才能上传本地的新文件
22 
23 //    先拉下来,会自动合并的(不用操心)
24 
25 $ git pull origin master  //若远程仓库不存在其他文件,空空的什么也没有,不用敲,当然不包括 REAMD
26 
27 //    再上传
28 
29 $ git push -u origin master

 

 

 

8. 关取远程服务器的公文

  命令:

1 git clone "地址";

 

 
 注意:有一个圈套,工程中还有子模块,否则会报错,如左:( MessagesMissing
dependency target “zimsdkoc (from
zimsdkoc.xcodeproj)”
%22&tn=84053098_3_dg&ie=utf-8)),没法改动;

  下载子模块的吩咐:

1 git submodule  update --init --recursive

 

  子模块和类库的概念:http://blog.csdn.net/sinat\_16714231/article/details/52797845;

  若提醒版本更新得忽略下载:

1  pod install --verbose

   

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注