LoginSignup
1
0

More than 3 years have passed since last update.

100日後にエンジニアになるキミ - 58日目 - Git - Gitの使い方4

Posted at

昨日までのはこちら

100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて

100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて

100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1

100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1

100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1

100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1

100日後にエンジニアになるキミ - 53日目 - Git - Gitについて

最近の開発ではGitが欠かせません。
本日はGitの使い方の続きです。

昨日の講座はこちら
100日後にエンジニアになるキミ - 57日目 - Git - Gitの使い方3

更新したくないファイルの除外(.gitignore)

ローカルに保存したパスワードや設定ファイルなど
リモート側に送りたく無いファイル群があると思います。

git管理をしたく無いファイルをgitignoreで除外することが出来ます。

まず、ディレクトリ内で.gitignoreというファイルを作成します。

touch .gitignore

この作成したファイルは通常見ることが出来ない隠しファイルです。
作成したものを見るには

ls -la

drwxr-xr-x 5 ss staff 160 5 17 16:12 .
drwxr-xr-x+ 43 ss staff 1376 5 16 16:53 ..
drwxr-xr-x 13 ss staff 416 5 16 17:07 .git
-rw-r--r-- 1 ss staff 0 5 17 16:12 .gitignore
-rw-r--r-- 1 ss staff 7 5 16 16:52 sample.txt

このようにして見ることが出来ます。

このファイルにgit管理したく無いファイルを書くことで、更新対象から外すことが出来ます。

gitignoreの書き方

コメント

# コメント部分

ワイルドカード

記号 意味
* /以外の0文字以上の文字列にマッチ
? /以外の1文字にマッチ
[0-9]など /以外の指定した1文字にマッチ
** 0個以上のファイル or ディレクトリにマッチ

特定の拡張子の除外

# txt ファイルの除外
*.txt

特定のフォルダの中身全てを除外

# abcフォルダを除外
abc/

特定のパターンを除外しない

# aaa.exe は更新対象にする
!/.aa/aaa.exe

フォルダ内の特定拡張子を除外

# paフォルダ内の .config ファイルを除外
pa/**/*.config

特定フォルダを除外しつつ、その中の特定ファイルは除外しない

# tmpフォルダは除外し.gitabcファイルだけは除外しない
/tmp/*
!/tmp/.gitabc

ブランチのマージ(merge)

開発現場では新機能をブランチを作って開発を行い、テストが完了したらメインのmasterブランチに取り込む
という流れで開発作業を行ったりします。

このブランチに取り込む作業のことをmergeマージといいます。

git merge ブランチ名

まず作業ブランチでファイルを作成してコミットしておきます。
branch2で作業するとします。

作業ブランチの確認をして

git branch

branch1
* branch2
master

新しいファイルを作ります。

vi sample2.txt
ls -ls

8 -rw-r--r-- 1 ss staff 8 5 17 16:35 sample2.txt

branch2でコミットします。

git commit -m "何かコメント書く"

[branch2 b4f7319] sample2
1 file changed, 1 insertion(+)
create mode 100644 sample2.txt

この状態でマスターに切り替えます。

git checkout master

Switched to branch 'master'

ファイルを見てもsample2.txtは有りません。

ls -ls

8 -rw-r--r-- 1 ss staff 7 5 16 16:52 sample.txt

mergeコマンドでbranch2の内容をマージします。

git merge branch2

Updating 454811b..b4f7319
Fast-forward
sample2.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 sample2.txt

再度ファイルを確認してみると

ls -ls

8 -rw-r--r-- 1 ss staff 7 5 16 16:52 sample.txt
8 -rw-r--r-- 1 ss staff 8 5 17 16:38 sample2.txt

branch2のファイルが追加されていることがわかります。

まとめ

作業ブランチの仕組みが理解出来たら実際に作業ブランチで作業してみて
メインブランチに統合したりしてみよう。

あと設定ファイルなどよく書き換えるけど都度更新しなくて
良いやつは.gitignoreなどに登録しておき
更新対象から外してみよう。

君がエンジニアになるまであと42日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0