今さら聞けないGit 2019年12月25日

今さら聞けないGit 2019年12月25日

ターミナルを見やすくして作業効率を上げよう!

# 概要
本記事では、ターミナルのテーマの変更やgitとの連携についてまとめています。
初期状態の見にくいターミナルから卒業しましょう!

## フォントを変更する
自分的に見やすいフォントは`SF Mono Regular`です。フォントサイズも大きくしておきましょう。

ターミナル -> 環境設定 -> プロファイル -> テキスト
スクリーンショット 2019-12-25 13.17.14.png

## テーマを変更する
デフォルトのテーマではなく、下記からクローンして読み込ませます。
http://cocopon.github.io/iceberg.vim/
下記の流れで読み込ませることができます。読み込ませたら、デフォルトに設定しておきましょう。

歯車マーク -> “読み込む…” -> クローン

元記事を表示

【Git】GUIツールGitKrakenの設定周りの紹介

この記事は[MicroAd Advent Calendar 2019](https://qiita.com/advent-calendar/2019/microad)の24日目の記事です(仕事が忙しすぎて投稿が間に合いませんでした、申し訳ありません、、、)。

# 前書き
以前「[【Git】GUIツールGitKrakenで気に入っている3つのポイント \- Qiita](https://qiita.com/wrongwrong/items/edb9629e2ad538fde1fd)」という記事を投稿した者です。

前回はどちらかというと好き寄りの話でしたが、今回はより実用的な内容を目指して、一部ですが`GitKraken`の設定周りをご紹介したいと思います。
紹介する内容は以下の4点です。

– `pull`/`fetch`関連設定
– `pull`オプション/`fetch`の選択
– `Auto-Fetch`間隔の設定
– UI設定
– テーマ設定
– フォント設定

# GitKrakenについて
本文に入る前に、`GitKraken`について大雑把に書きます(前回

元記事を表示

commitメッセージに任意の文字列を自動追加する

commitメッセージの先頭に#Issue番号を手動でつけてcommitしています。
手動のため、チーム内でつけ忘れるメンバーが出てきたため、自動で追加できないか調べたところ、prepare-commit-msgなるものが。
featureブランチの名前で先頭をIssue番号にするルールがあるため、それを利用して、ブランチ名からIssue番号を取り出し、commitメッセージ自動追加するようにしました。

“`
$ cd <リポジトリパス>
$ mkdir .githooks
$ touch .githooks/prepare-commit-msg
$ git config core.hooksPath .githooks
$ chmod +x .githooks/prepare-commit-msg
“`

`.git/hooks`内のファイルを利用することもできますが、チームで開発している場合は設定を共有するため、リポジトリへ含められるようにフォルダを作成します。
`.githooks/prepare-commit-msg`を編集します。

“`
#!/usr/bin/env

元記事を表示

(失敗)Flaskで作ったwebアプリをherokuでデプロイする

Flaskのアプリをherokuとgithubを使ってデプロイしてみます。
メモのために書きます。と思ってやってたんですが、デプロイしたページを見ようとするとエラーが出てします。前はできたんだけど、、、

まずプログラムを入れるファイルを作ります。

“`
(base) PS C:\working\web_app> python -m venv 新しく作るファイル名(今回はmessage_app)
“`

仮想環境を設定する。
下のコマンドを打つと仮想環境が稼働します。

“`
(base) PS C:\working\web_app\message_app>Scripts\activate
“`
次にライブラリを仮想環境にインストールします。

“`
(message_app) PS C:\working\web_app\message_app>pip install 使うライブラリ名(今回はflaskとrequestとgunicorn)

pip install -r requirements.txt(requirements.txtを使ってインストールもできる)

元記事を表示

[git]強制的にpullする

###はじめに
gitで、リモートをローカルにpullしたらコンフリクトした。
でもローカルのソースは保存する必要はなくて、とにかくリモートがローカルに来ればいいんだ!!強制的にpullしたい!!

ってことがままあります。
いっつもコマンド忘れちゃってググる行為から始まるのでここにメモします。

###コマンド
リモートの「develop」のソースをローカルの「mylocal」にpullしたいとき

“`git
$ git fetch origin develop
$ git reset –hard origin/mylocal
“`

これでいけました〜。
gitのコマンドとかそもそものところが、未だに理解で来ていない部分もあり
やりながら勉強中です・・・・。なかなか難しい・・・・。

元記事を表示

オレオレzshエイリアスを晒す【効率化の第一歩】

# オレオレzshエイリアスを晒す【効率化の第一歩】
以前、村上さん(@ryuta69 )の以下記事を読んで、速攻で導入したエイリアス一覧を晒します。
[【私的最強alias32選】忘れやすいコマンドは、『辞書化&ショートカット化』しちゃえばいい](https://qiita.com/ryuta69/items/4c3f6d9e86cdcf58a2b7)

## zshエイリアスについて
zshはgitなどのエイリアスがデフォルトで登録されています。
とはいえ、一連のコマンドを組み合わせた関数も欲しい。

なので~/.zshrcをいじってオレオレエイリアスを設定しました。

## zshエイリアス設定方法
bashとは文法がちょっと異なります。
例えば、エイリアス名とコマンドをつなぐイコールの間に、半角スペースが入ってはいけない、とか。

単純なエイリアスの設定例は以下。

“`~/.zshrc
alias gitls=”alias | grep git”
“`

詳細は時間があるときに追記しようと思います。

## オレオレzshエイリアス公開
以下、オレオレエイリアスです。

元記事を表示

巨大な Git submodule のバージョンを一瞬で更新する方法

容量が大きいリポジトリをサブモジュールに登録していると、サブモジュールの更新には結構な時間が掛かります。

なぜ時間がかかるかと言うと `git submodule update –remote` をすると新しい内容のダウンロードが発生するためです。小さいリポジトリであれば何も問題ありませんが、巨大なリポジトリになると無視できない時間が掛かりますし、ディスク容量も消費します。(私の見たことあるプロジェクトでは一回の更新に10分以上かかってました?)

このダウンロードを避け、手早くサブモジュールのバージョンだけを更新したいという話です。

尚、今回の方法は事前に更新後の Commit ID (ハッシュ値) を知っている必要があります。(事前に更新後の Commit ID が分かっている状況であればダウンロードを省略して更新できるよ!という趣旨です。)

## サブモジュールのダウンロードを省略した更新コマンド

先に結論を書くと、`git submodule update` の代わりに `git update-index` コマンドを使うと参照するコミットを強制的に書き換えられます

元記事を表示

developやmasterへの直commitを禁止する

たまにブランチを切り忘れて、developブランチにcommitしてしまうことがあります。
gitのhooksを利用して、指定のブランチへのcommitを禁止することができます。

“`
$ cd <リポジトリパス>
$ mkdir .githooks
$ cp .git/hooks/pre-commit.sample .githooks/pre-commit
$ git config core.hooksPath .githooks
$ chmod +x .githooks/pre-commit
“`

`.git/hooks`内のファイルを利用することもできますが、チームで開発している場合は設定を共有するため、リポジトリへ含められるようにフォルダを作成します。
`.git/hooks/pre-commit.sample`がない場合もありますので、その場合は、`.githooks/pre-commit`ファイルを新規作成してください。
`.githooks/pre-commit`を編集します。

“`
#!/bin/sh
#
# An example hook script t

元記事を表示

Atomのgit-controlでPushができないと思ったら、pre-commitでeslintにより弾かれていた件

これは[TOWN Advent Calendar 2019](https://adventar.org/calendars/4335) 23日目のエントリーです。

Atomの[git-control](https://atom.io/packages/git-control)プラグインを使ってGitの操作をしているのですが、コミットはできるもののプッシュができない(ボタンが選択可能にならない)現象が発生しました。
(よくよく見ると画面の下の方にエラーが出ていたのですが最初気がつかづ。。。)

こういうときには面倒ですがTerminalからコマンドを直接入力して確認をしてみます。

“`
% git commit
husky > pre-commit (node v13.5.0)
✔ Stashing changes…
❯ Running linters…
❯ Running tasks for *.{js,vue}
✖ eslint
↓ Updating stash… [skipped]
→ Skipping stash upd

元記事を表示

SOURCE TREE を使っていたら知らないうちに .gitignore されていた

SOURCE TREE を使っていたら、対象ファイルが知らないうちに .gitignore されていてコミットできなくなってmした。
SOURCE TREE のアプリ上では解除できなかったので、 git check-ignore コマンドを使って .gitignore ファイルを特定しました。

# 実行コマンド

“`
$ git check-ignore -v ファイルパス/sample.php
/Users/ユーザー名/.gitignore_global:16:sample.php ファイルパス/sample.php
“`

コマンド実行して、どの .gitignore で除外されているのかが特定できました。
プロジェクトの .gitignore ではなく .gitignore_global で除外されていたとは。。。
対象行を削除して無事コミットできました。

元記事を表示

.git の中を観察してみた

前から .git の中がどのように変わっていくかを調べてみたいと思っていたところ、同僚が .git の中に .git を作って差異を観察したら面白いのではというアイディアを提供してくださったので、それをやってみました!

なお、前提条件として、ざっくり Git がある程度どのようなデータ構造を持っているかを知識として持った上で調べています。

過去の記事: [Git のデータ構造を図で整理](https://qiita.com/Teloo/items/85f36d9dbf20f915324f)

## はじめに

以下のコマンドの実行時にどのように .git の中身が遷移していくかをみていきました。

“`
$ git init
$ echo “Hello World!” > test.txt
$ git add test.txt
$ git commit -m ‘First commit!’
$ git branch feature
$ git checkout feature
$ git remote add origin <リポジトリのURL>
$ git checkout m

元記事を表示

codeanywhereでgitにハロワをプッシュしよう!

# 前置き

codeanywhereを使って、スマホのみでgitにRubyのハロワをプッシュする流れについて解説します。

# 手順

まずはハロワの実行ファイルを作成します。
手順は↓を参照して下さい。
[Codeanywhereを使ってスマホでプログラミングをしよう](https://qiita.com/Auggie_2345/items/b34ea80b5da8b08acdf2)

githubにて、リポジトリを作成します。

Repositories>Desktop versionをタップ。
3C80F71A-8BD3-49F5-A99B-E649A680729A.jpeg

Newをタップ
AFDD3438-E1F9-4211-A944-B81267A92</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Ruby</div>
<div class='tag-cloud-link'>Git</div>
<div class='tag-cloud-link'>IDE</div>
<div class='tag-cloud-link'>スマホ</div>
<div class='tag-cloud-link'>codeanywhere</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/Auggie_2345/items/810b76f3345f6dc09f61'>元記事を表示</a></div>
<h3 id=Git わかりやすくて便利だと思ったサイト

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/2eaad28e-370d-1a6f-73f5-e337821ee3da.png)

元記事を表示

今度こそ挫折しない git 入門 第2回

こんにちは、バカンのソフトウェアエンジニアの垣野内です。

この記事は[バカン Advent Calendar 2019](https://qiita.com/advent-calendar/2019/vacan)の22日目の投稿です。
[前回](https://qiita.com/kakinouchi/items/be54d21adcac1debc0c0)に引き続きgitの入門記事をおとどけします!今回はブランチについての解説です。
ブランチは、覚えるコマンドは少ないのですが、慣れるのに少し時間がかかるかもしれません。

今回もこれでもかというくらいスクショをつけておきました!
コマンドでの入門をおすすめするのは、[第一回](https://qiita.com/kakinouchi/items/be54d21adcac1debc0c0)に述べた通りです。
「なんでコマンドなの?もう令和だよ?」と言いたくなる気持ちをグッとこらえて、コマンド練習までぜひ一緒にやってみてください!

# ブランチとはどんなものか
[前回のコマンド練習その1](https://qiita.com/kakin

元記事を表示

Git revertが使えない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/71de7163-98fe-0e4f-5415-0a1df0daf041.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/bc85d182-1668-7844-6775-a863d0c668b3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/f2e96fde-a2a1-82d9-5a66-651e16b68648.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/bbc6a49f-ded5-a413-e5bc-9154ba8cc562.png)
![image.png]

元記事を表示

Git indent error (Git indent error so on )

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/1f54ca78-2f65-8815-0987-45814de98406.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/5ed5e93c-14cd-daef-a10b-0544f4f3cf31.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/2a7fc7a8-4173-e1a3-8b3c-2c1070f8db21.png)

元記事を表示

Gitで派生branchを間違えたとき

https://www.granfairs.com/blog/staff/git-mistake-parent-branch

元記事を表示

Git rebase をもとに戻す。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/46fa90d3-a685-4970-81ce-d3c9289d7917.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/7f37356a-5102-552c-e616-07ac1e2724cd.png)

元記事を表示

Gitで過去のcommitを削除する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/90a48470-4709-b1ce-1982-972d28f631c1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/04cb80ba-8606-2568-cd1c-2a2967271278.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/bbb0b43a-704f-9cd0-e973-bec3013438ed.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535172/bd862c00-368b-03c1-57ce-37d0cf0e5c38.png)
![image.png]

元記事を表示

Git のブランチを学ぶ

[Learn Git Branching](https://k.swd.cc/learnGitBranching-ja/)

初心者は視覚的にも操作的にもここが一番よいです。自分が操作するとどうなるのか?というのが凄くわかりやすいし、自分でコマンドを打つのでドキュメントを読むだけより覚えやすいです。

ずっと英語版しかないと思っていましたが、日本語版もありました。自動翻訳みたいな日本語ですが問題なく読めるので最強です。

## 少し使ってみる

Welcome ページはこんな感じ。右ボタンを選択して進めましょう。

[![Image from Gyazo](https://i.gyazo.com/7adcf652ab638e53ce63d78dd000ce6c.png)](https://gyazo.com/7adcf652ab638e53ce63d78dd000ce6c)

カリキュラムが出てきました。 **まずはここから の 1** をやってみようと思います。

[![Image from Gyazo](https://i.gyazo.com/9a715bb33c1611b55e0

元記事を表示

OTHERカテゴリの最新記事