Help us understand the problem. What is going on with this article?

最高のGit運用をするための9の方法

More than 1 year has passed since last update.

最高のGit運用をするための9の方法

by igayamaguchi
1 / 24

この資料は12/16(土)に行われた、だいたい新卒エンジニア向け技術交流会 vol.13の発表資料です。
発表時から一部変更を加えています。


今日は最高のGit運用の話をします


これをすれば同僚から一目置かれる存在に


自己紹介なんていらない


早速行きましょう


1. メインブランチにコミット


2. 改行コードを混ぜ込む


CRLFとLFを混ぜ込んでみよう!
そうするとめっちゃ差分出るしコンフリクトするので治し甲斐があるなあってなるぞ!

Git改行コード変更.png

-namespace SampleMvc.Models
-{
-    public class Article
-    {
-        public int Id { get; set; }
-
-        public string Title { get; set; }
-
-        public string Content { get; set; }
-    }
-}
+namespace SampleMvc.Models^M
+{^M
+    public class Article^M
+    {^M
+        public int Id { get; set; }^M
+^M
+        public string Title { get; set; }^M
+^M
+        public string Content { get; set; }^M
+    }^M
+}^M

Windows環境だとcore.autocrlfとか有効にすれば全部LFになるけどそんなものは無視だ!


3. 文字コードを変更する


 namespace SampleMvc.Models
 {
     /// <summary>
-    /// 記事
+    /// <8B>L<8E><96>
     /// </summary>
     public class Article
     {

同僚は頭の中で文字コードを変換できるように成長するだろう。


4. コンフリクトしたらプッシュ


diff --git a/Article.cs b/Article.cs
index bd41686..93834b7 100644
--- a/Article.cs
+++ b/Article.cs
@@ -11,6 +11,10 @@ namespace SampleMvc.Models

         public string Content { get; set; }

+<<<<<<< HEAD
         public IEnumerable<string> RelatedLinks { get; set; }
+=======
+        public DateTime Created { get; set; }
+>>>>>>> conflict-b
     }
 }

HTMLに入れてあげればエンドユーザーにも届く!


5. マージコミットでファイル削除


diff --git a/Article.cs b/Article.cs
index 8bb591a..af62a0b 100644
--- a/Article.cs
+++ b/Article.cs
@@ -11,6 +11,10 @@ namespace SampleMvc.Models

         public string Content { get; set; }

+<<<<<<< HEAD
         public DateTime Created { get; set; }
+=======
+        public IEnumerable<string> RelatedLinks { get; set; }
+>>>>>>> conflict-a
     }
 }
$ git merge --no-ff conflict-b

$ git status --short
 M Article.cs
?? Tag.cs

$ git status --short
 M Article.cs
?? Tag.cs

$ git checkout -- .

$ git status --short
?? Tag.cs

$ rm Tag.cs

$ git commit

ファイルが消える上にgit log、--付きでも追えなくなるぞ!


6. 全く意味のないコミットメッセージ


7. ビルドできない状態のブランチのマージ


8. ビルドしたものを含める


9. 履歴書き換え、強制プッシュ


そう


これは遠いおとぎの国の現場の話なんだ…


みんな


こうなる前に仕組みと教育で防ごうな!!


ikyu
「こころに贅沢を」をコンセプトに一休.com、一休レストランなどのサービスを提供しています。
https://www.ikyu.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした