misc.log

日常茶飯事とお仕事と

GitLabのグループに既存プロジェクトを追加する

絶対忘れそうなのでメモ。

背景

GitLabで、複数プロジェクトをまとめられる、グループというものを作ることができます。グループは、参加するメンバーをプロジェクトごとではなくグループ単位で設定できるので、複数プロジェクトを複数メンバーで取り扱う場合などに便利な設定です。ですが、普通にグループを作成すると、そこに入れるプロジェクトは新規プロジェクトしか指定できません。新規作成プロジェクトでは事前にエクスポートしておいたプロジェクトも指定できるので、エキスポートしておけば既存プロジェクトも追加可能ですが、ちょっと面倒。というわけで、すでにあるプロジェクトをグループに入れる方法を記載しておきます。

既存プロジェクトの設定画面から実施できる

すでにあるプロジェクトをグループに入れるという作業は、GitLabでは「Transfer(トランスファー)」と呼んでいます。この作業は、既存プロジェクトのページから「Settings(設定)」→「General(一般)」で表示される一般設定の下の方、「Adanced」と書かれたところのExpandボタンを押すと出てきます。

f:id:frontline:20190212112117p:plain
GitLab、設定→一般→Advanced

Advanced設定の中でも下の方に「Transfer Project」という項目があります。

f:id:frontline:20190212112414p:plain
GitLab、Advanded設定→Transfer Project

「Select a new namespace」という項目がドロップダウンリストになっていて、すでにあるグループ、特に、自分が選べるグループなどが表示されるので、移動先のグループを選択して「Transfer Project」ボタンを押してください。

f:id:frontline:20190212112507p:plain
GitLab、Transfer Project確認

上図のようなメッセージが表示されます。「別のオーナーに委譲」という不安になるコメントが書かれていますが、グループもプロジェクトも自分が作成したものであれば特に問題ありません。ここでは、移動させるプロジェクトの名称を手打ちでテキスト入力欄に打ち込んでください。打ち終わると「Confirm」ボタンが使えるようになるので、ボタンを押しましょう。これで終わりです。


わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

チームの自己組織化を妨げる13のパラダイムに2つ追加する

株式会社ソニックガーデンの代表が書かれているブログで、「チームの自己組織化」に向けてやっては行けないことが記載されています。参考になります。

kuranuki.sonicgarden.jp

これを見ていてちょっと思ったことがあるので2個くらい追加してみようかと思います。

14. 締め付けと管理を混同する

縛り付けてすべてを操る事を管理とするチームは、悪い意味での依存(締め付けてきたリーダーに対する依存)と責任転嫁(そこに至る理由や原因は自分になく、強い指示を出したリーダーのせい)、失敗するくらいならばやらない(失敗の可能性があり、そのことで叱責されるリスクを負うくらいならやらない=技術領域では絶対成功という保証は常にないので、これをやられると何一つ新しいことをやらなくなる)という選択を採り、リーダーの能力を絶対に超えることがないチームになります。リーダーはリードするのが仕事であり、頂点に君臨することが仕事ではないという認識を持った方がいいです。

リーダーの能力を超えられないということは、その組織はその時点の上層部から進歩しないということ。何年たっても変わらない組織になります。リーダーは君臨が仕事ではない。これは鉄則だと思います。

15. やってはいけないことを列挙して指導する

アレはダメ、これはダメという指示で指導すると、ダメと言われたことをやらないだけの組織になります。危ない橋は渡らない、というか、危ないから歩かない、みたいな。これは子供に対する指導でも一緒。自立ということばのはき違えで放置したり、最初から千尋の谷に突き落とすリーダーが居ますが、やはり初学者には具体的な手順を明確に伝え、最初の一歩はしっかり手助けを。経験者には、次に進むべきコースや指針を提示して、危険回避だけではなく前に進むことを教えるべきです。

こういうことをやっていかないと、チームは何をやるにもビクビクしてしまい、冒険しなくなります。技術の世界なんてそもそもやってみなければ判らない、研究したり試さないと判らない事だらけ。なので、失敗を恐れていては何もできません。

まとめ

いかがでしたか?(←これ一度やってみたかった)。


管理ゼロで成果はあがる~「見直す・なくす・やめる」で組織を変えよう

自分の小さな「箱」から脱出する方法 ビジネス篇 管理しない会社がうまくいくワケ

自分の小さな「箱」から脱出する方法 ビジネス篇 管理しない会社がうまくいくワケ

  • 作者: アービンジャー・インスティチュート,中西真雄美
  • 出版社/メーカー: 大和書房
  • 発売日: 2017/08/25
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Excel VBAでペーストを検出する

※結論に到達していません。未解決。

teratailで、Excelでペーストを禁止したい、それも特定セルや列だけという質問が出ていました。

teratail.com

興味あったので少し調べてみたところ、Google検索「excell イベント paste」でstackoverflowの下記質問が出てきて……

stackoverflow.com

さらに、過去の下記質問回答が出てきました。

stackoverflow.com

ここで提示されているのは、ワークシートのチェンジイベントで

  • CommandBarの「"Standard"」→ Controls「"&Undo"」にあるアンドゥリストを見る。
  • アンドゥリストの1番目、先頭が「Paste」で始まる項目があれば「ペースとしようとしている」ということが検出できる。

という方針。ま、このあと実際にはペーストをキャンセルできるかといった話があるのですが、残念ながら今使っているOffice2016の日本語版ではこの回答にあった下記サンプルコードはそのまま動きませんでした。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim UndoList As String

  '~~> Get the undo List to capture the last action performed by user
  UndoList = Application.CommandBars("Standard").Controls("&Undo").List(1)

  '~~> Check if the last action was not a paste nor an autofill
  If Left(UndoList, 5) = "Paste" Then
    'Do stuff
  End If
End Sub

デバッガーで追ってみたところ、Application,CommandBarsの「"Standard" 」はItem(10)にあり、また、&UndoはCaptionプロパティ「元に戻す??(&)」としてItem(14)にあるので、日本語と英語の違いかと思ったのですがうまくアクセスできず。また、Undo項目の下に「List」が無い。

面白いアプローチだとおもったのですがバージョン依存か何かでダメなのか、それとも何か根本的な勘違いをしているのか。ちょっとしたパズルとして保留しておきます。