怼周刊_v19

~ 预定 17.8.21 20:20 发布

Release time - 20:20, August 5th, 2017


猛合

仓库无端分支开 一提一交多百本
广鹤小梦迷合并 望怼周刊独分支
远程仓库注有泪 怼友本地仓库肿
此情可待成追忆 只是当时已惘然

BC by merge huge br (mxclover)

Why? Why? Why?
Repo added a strange branch, push so many bytes
Hey! Hey! Hey!
Guanghe merged it by accent, DUW with a branch 
Remote repo, remote repo, pull so mangy bytes
DUWer's local repo get huge, get huge
Such feeling cannot be recalled again
It seemed long lost even when it was felt then

BC by merge huge br (DAMA)

br co no reson
push with commits more 600 
dig we know by guanghe
only want DUW to local
odd br from master
inject huge history to working copy
BloodCase already created
but was casting haze of confusion

br co no reson
br pu no reson
br no the chaos
let's playground
before real br co

进度 Timelines

~ 记录当周关键事件日期+证据链接

任务 Tasks

~ 记述关键共怼任务 (如果没有, 留空)

进展 Progress

~ 整体上圈内部活跃指标情况

  • 提交: 9 人 (比上周新增 1 人)
    • 小组 @zoomquiet 时间帐单:效能分析小队
    • 成员: @zsy @liguanghe @simpleowen @mxclover
    • @draachen Py104 学习
    • @heta 深度学习
    • @liguanghe 域外生活录
    • @OMlalala 投资学习
    • @zsy 编程与写作
    • @zoejane 日常节奏形成
  • 引发的作品:
    • NIL
  • 状态:
allcic Commit timesweekly Commit times
zoejane293 ZoomQuiet10
ZoomQuiet283 OMlalala9
liguanghe184 liguanghe8
mxclover124 zhangshiyinrunwithcc7
zhangshiyinrunwithcc122 mxclover3
all Commit Comments timesweekly CommitComments times
ZoomQuiet140 zhangshiyinrunwithcc2
zhangshiyinrunwithcc44 mxclover2
zoejane32 ZoomQuiet1
sunoonlee19 draachen1

<- 17.08.20 22:47

成果 Achievements

~ 各种成品/半成品 内部知识作品

@liguanghe - 170819 怼周会迎新小记

大妈给新人寄语

  • 怼圈历史
  • 小密圈
    • 不适合长期有作品导向的被动进步
  • py103毕业后训练
  • github
    • 以往都是 fork
    • 改成分支
    • dashboard
    • 资源和工具生态, 对于从来没有编程体验的新人来说, 是潜移默化的学习环境, 所有行为都可以指向编程.
  • 历史节奏
    • 第 1 周自怼圈的发展规划和工具
    • 第 3 周开始每周怼周刊
    • 第 4 周进入节奏, 不到20人
    • 第 8 周开始四周一个阶段, 每个阶段一个作品.公开怼和自学及任务追踪
    • 第 12 周开始固定10人积极参与. 其他人慢慢跟不上.
  • 怼圈招新
  • 5 周准备
  • 招募10人, 是因为老怼友有10人可以做到引路人.
  • 希望你们 2 周掌握
  • 期待: 每周以代码为基础, 和所有人进行有效的沟通
  • 约定: 全部在仓库进行操作, 分支为主.
  • 玻璃花园: 同侪压力
  • 邮件列表: issue 和 code 的变化都有提醒, 不同微信, 异步沟通
  • 怼内容: 写作/编程/生活/...
  • 最佳状态:
    • 每天 10 次 comment
    • 每天 2 个 issue
    • 每周有作品/功能发表
    • 每人每周10个小时的心流时间
  • 怼圈行为都有详细记录
    • 子任务
    • 血案
    • wiki
    • code
    • issue
  • 实操经验才能变成自己的
    • 社群, 共同经验
    • 内部专业语都是什么意思
    • 血案
    • 玻璃花园
    • 卤汁
  • 找到你的引路人, 结对进入自怼
    • 带你两周
    • 活跃程度/学习方式/擅长方面
    • 了解这里的人, 表现你的诚意
    • 提问的智慧
    • 新队员
    • e.g.: 发现自己qq邮箱不适合大方面处理邮件, 所以发邮件修改邮箱, 体现很友好.
    • e.g.: 邀请进slack 后, 一个人把自己的头像变成跟大家一致的, 体现探索.
    • 这些资源都是你的了, 怎么用? 你是否足够主动的去探索和了解这里的人和知识?
    • 所有资料要看一遍, 才有具体的问题问出来.
    • 对自怼圈已有资源的倾向性, 不要等人主动引领你.
    • 招新的关键目的, 是从新人的角度完备怼圈资源.
    • 怼圈所有场景里面, 都倾向于埋坑. 对于老队员不是坑, 新人才能感觉是坑. 要把坑标出来, 给别人看到. 加速下一次新人进入. 不断提速, 一年之后, 再看是否继续自怼.
    • 自怼最大的作用: 通过长期相互写作了解后, 每人的私董会.
    • 私董会是非自己公司以内的私董会, 整个人生现在阶段跳出朋友圈和职业圈之外的丰富的人帮忙看着你, 反射你现在的状态是好还是不好.
    • 学习自我学习, 持续不断输出作品, 半秘密化. 一部分跟项目和代码无关的, 可以发布.
    • 个人 blog 和集体 blog 都可以发布

小鹤给怼友寄语

  • 错误乃进步之本源
  • 这是一句谁都知道但做不到的口号
  • 怼圈把这句口号化为行动和环境.
  • 这里没有: 不能包容错误的老板
  • 这里没有: 互相推诿责任的同事
  • 这里没有: 混乱查不出出处的文档和行为
  • 这里没有: 好行为随风而逝,下次还得从来.
  • 在这里: 大家欢迎错误, 你犯了错, 大家会开心的说"哟, 有血案发生哟, 快看看怎么进步"你开心的在 issue 里写出血案的原因,经过和结果, 告诉大家正确的行为是什么(在怼周刊投稿). 为怼圈所有人节省了同样多的时间. 你很棒.
  • 在这里: 好的行为都被固定下来, 放在 wiki(撰写wiki并发布), 简单清晰, 照做即可. 并且, 随时可以增补.这也同样为怼圈所有人节省了同样多的时间. 你很棒.
  • 在这里: 你慢慢地拥抱客观完整的自己, 遇到错误, 不再花时间自怨自艾, 纠结蹉跎. 做好事情, 将自发的产生正向反馈, 足以让你坚持一生.
  • 在这里: 你有一群知道自己不完美, 但相信自己和别人都会更好, 每天进步一点点, 掌握这种姿势的导师和同侪, 互怼互励.
  • 在我的日常生活中, 还没有遇到这样的完美环境. 但当我们见到了美, 又怎会不将它扩散给更多人? 一起变得更好吧.

@liguanghe - 行动作品: 运动 follower 招募

故事 Stories

~ 收集各自无法雷同的怼圈真人故事...

@ZoomQuiet - BC 血案之宏大 merge

  • Issue 链接 - https://github.com/DebugUself/du4proto/issues/191

现象

  • DUW18 紧张编辑中
  • 突然 git pull 时变的非常慢
  • 感觉有问题, 但是,大家忍了一会儿, 先完成编辑工作...

分析

~ 但是,感觉不对哪:

Network Graph · DebugUself/du4proto->

2017-08-14 21 31 35

可以看到 dd6cf72 被 @liguanghe 从 master 分支出了一个 b10 分支

进一步挖掘, 发现当时情景应该是:

  • 从 master -> b10
  • 删除不需要的文件(但是, 没有注意到历史版本都保留在分支中了)
  • 然后将 DUW 的文稿都复制过来
  • 追加自己的内容, 逐一 push 后
  • 才发现有 DUW 分支
  • 然后快乐的将 b10 分支合并到 DUW 分支
  • 从而, 给其它 DUW 的编辑们本地工作分支追加了几百个 master 的文件编辑历史

纠正

@bambooom 先来 reset ... 版本地图清晰了:

2017-08-14 21 49 11

但是, 其它人在本地同步时将发现:

༄  git pl
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:DebugUself/du4proto
 + 4fd8832...ee3dbef DUW        -> origin/DUW  (forced update)
Auto-merging DU18w_draft.md
CONFLICT (content): Merge conflict in DU18w_draft.md
Automatic merge failed; fix conflicts and then commit the result.

本地自动合并失败...

༄  git st
On branch DUW
Your branch and 'origin/DUW' have diverged,
and have 614 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both modified:   DU18w_draft.md

no changes added to commit (use "git add" and/or "git commit -a")

根据提示追加本地修订...

༄  git add .

༄  git st
On branch DUW
Your branch and 'origin/DUW' have diverged,
and have 614 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

    modified:   DU18w_draft.md


༄  git ci -am "reset(18w) loc from dama"
[DUW 541756c] reset(18w) loc from dama

再提交...

༄  git pu
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (21/21), done.
Writing objects: 100% (21/21), 2.48 KiB | 0 bytes/s, done.
Total 21 (delta 14), reused 0 (delta 0)
remote: Resolving deltas: 100% (14/14), completed with 2 local objects.
To github.com:DebugUself/du4proto.git
   ee3dbef..541756c  DUW -> DUW

形成的效果是 git 好心将原先错误的历史多头分支合并给自动续上了

2017-08-14 21 50 09

删除 b10

~ 所以, 一步步来:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree branch -D -r origin/10b 
Deleted remote-tracking branch origin/10b (was 10b79c0).


git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push origin :10b 
To github.com:DebugUself/du4proto.git
 - [deleted]         10b
Completed successfully

清除合并

~ 使用 rebase 涉及 616 个 master 的版本丢弃, 太疯...

所以:

  • 使用 @bambooom 的方案, 只是要先进行手工的本地备份
  • 然后进行强行回滚, 并放弃本地复本(因为包含了 616 个 master 的历史版本)

2017-08-14 22 24 33

  • 最后, 手工,将备份中最新 DUW 的文档内容复制过来
  • 再正常的 push
  • DUW 分支就干净了...

预防

~ 但是, 其它同学进行 DUW 编辑时,依然有可能重新续上宏大 master 分支,所以!

请大家 clone DUW 分支时这么操作:

  • 先移走原先进行嗯哼的 DUW 分支
  • 然后按照以下操作进行:
$ mkdir DUW
$ cd DUW
$ git init
Initialized empty Git repository in ....../DUW/.git/

$ git remote add -t DUW -f origin [email protected]:DebugUself/du4proto.git 
Updating origin
remote: Counting objects: 632, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 632 (delta 12), reused 14 (delta 12), pack-reused 614
Receiving objects: 100% (632/632), 229.03 KiB | 19.00 KiB/s, done.
Resolving deltas: 100% (394/394), done.
From github.com:DebugUself/du4proto
 * [new branch]      DUW        -> origin/DUW
 * [new tag]         17.4.15    -> 17.4.15
 * [new tag]         17.4.8     -> 17.4.8
 * [new tag]         v17.5.13   -> v17.5.13
 * [new tag]         v17.5.20   -> v17.5.20
 * [new tag]         v17.5.27   -> v17.5.27
 * [new tag]         v17.5.6    -> v17.5.6
 * [new tag]         v17.6.10   -> v17.6.10
 * [new tag]         v17.6.17   -> v17.6.17
 * [new tag]         v17.6.24   -> v17.6.24
 * [new tag]         v17.6.3    -> v17.6.3
 * [new tag]         v17.7.1    -> v17.7.1
 * [new tag]         v17.7.15   -> v17.7.15
 * [new tag]         v17.7.22   -> v17.7.22
 * [new tag]         v17.7.29   -> v17.7.29
 * [new tag]         v17.7.8    -> v17.7.8
 * [new tag]         v17.8.5    -> v17.8.5

$ git br -a
  remotes/origin/DUW

$ git co DUW
Branch DUW set up to track remote branch DUW from origin.
Switched to a new branch 'DUW'

$ git br -a
* DUW
  remotes/origin/DUW

以上, 将难以意外合并到其它分支了...

原因:

参考: HbUsageGit · DebugUself/du4proto Wiki

因为 DebugUself/du4proto: all kinds of DebugUself's prototype MVP 仓库的使用策略是:

  • master 进行公共项目管理文档发布
  • 各个项目分支永远不应该合并回 master
  • 所以, 应该的使用策略是:
    • 所有私人/团队/项目分支使用 --orphan 参数建立无头孤子分支
    • 同时, clone 到本地时, 只加载对应远程单一分支
    • 这样,就无法误操作将意外的分支 merge 到了

2017-08-14 21 26 38

推荐 Recommedations

~ 嗯哼各种怼路上发现的嗯哼...

后记 Postscript

~ 怼周刊是什么以及为什么和能怎么...

大妈曰过: 参差多态 才是生机 问题在 参差 的行为是无法形成团队的

Coming together is a beginning; 
Keeping together is progress; 
Working together is success!

<--- Henry Ford

  • 所以, 有了 大妈 随见随怼的持续嗯哼...
  • 但是, 想象一年后, 回想几十周前自己作的那些 图样图森破
  • 却没现成的资料来出示给后进来嗯哼?
  • 不科学, 值得记录的, 就应当有个形式固定下来
  • 所以,有了这个 怼周刊 (Weekly 4 DU)

What is DUW? Why we make DUW? What are the possibilities of DUW?

Dama said, variety brings vitality. But various behaviors may make us hard to cooperate as a team.

Coming together is a beginning; 
Keeping together is progress; 
Working together is success!

<--- Henry Ford

That's why Dama keeps on debugging. However, as time goes by, maybe you would not remember these days clearly and spread your experience difficultly. What a pity! The valuable should have a fixed form to be recorded. That's why we make the Weekly for DU.


蟒营®编程思维提高班 Python版/第14期 正在报名

精品小班/ 永久答疑

扫描报名: 101camp14py

蟒营®式 原创课程

theory101camp_v3

官网: py.101.camp


任何问题可先进入知识星球(免费)咨询:
FAQ

关注公众号, 持续获得相关各种嗯哼:
zoomquiet

追问

任何问题, 随时邮件提问可也:
[email protected]