今さら聞けないGit 2020年03月04日

今さら聞けないGit 2020年03月04日

PhpStormでGitリモートから直接ローカルの別ブランチを新規作成した後に追跡ブランチを変更する

お疲れ様です。
(株)モバイルコムの石黒です。

コロナ?がやばいので人と喋らずにプログラミングをやりましょう。

さて、タイトルの通り、PhpStormでGitリモートから直接ローカルの別ブランチを新規作成した後に追跡ブランチを変更する方法について記載します。

### 結論
PhpStorm上でのやり方がなさそうなのでコマンドでやります。?

### 環境
PhpStorm 2019.2.4
Git

### originからCheckout As…しがち
PhpStorm上で完結できて非常に便利なため、私は右下のツールバーからブランチを操作しています。
この際、Checkout&pullしてからNew Branchをすればいいだけなのですが、
それすらも面倒になった私?は、リモートから直接ローカルの別ブランチを新規作成しがちです。
![スクリーンショット 2020-03-02 12.50.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103853/4f0c2abb-1fbf-d7aa-d

元記事を表示

gitコマンドをカスタマイズ。

とりあえず、gitの設定を見てみましょう。

“`
$ git config -l
~
alias.s=status
alias.a=!git add . && git status
alias.au=!git add -u . && git status
alias.aa=!git add . && git add -u . && git status
alias.c=commit
alias.cm=commit -m
alias.ca=commit –amend
alias.ac=!git add . && git commit
alias.acm=!git add . && git commit -m
~
“`
 
alias:エイリアスとは、置き換え、別名という意味。
例えば、一番下 “alias.acm=!git add . && git commit -m” の設定により、

“`
$git add . && git commit -m
$git acm // 同義
“`

で呼び出せるようになります。これは楽チンだ。

##自分で設定したい
新しいパラメータを

元記事を表示

gitは環境によってリポジトリのファイル名の大文字小文字の検出オプション(core.ignorecase)をtrueで初期化することがある

タイトルの通りなのですが、gitは環境によって、`git init`や`git clone`時に、リポジトリのファイル名の大文字小文字の検出オプション(`core.ignorecase`)を`true`にすることがあります。

おそらく大文字小文字を区別しないファイルシステムだと`core.ignorecase=true`にするようです。

さっそく、本当なのか見てみましょう。

## macOS の場合 (APFS 大文字小文字区別なし)

“`sh
# 環境作成
$ mkdir gittest
$ cd !$
$ git init .

# テスト。たしかに true になっている
$ git config -l –local | grep ignorecase
core.ignorecase=true

# 設定ファイルも見てみる。たしかに設定されている。
$ grep -Hn ignorecase .git/config
.git/config:6: ignorecase = true
“`

## Ubuntuの場合 (ext4 大文字小文字区別あり)

“`sh
#

元記事を表示

GitHubの使い方 Desktopにレポジトリを作ってコミットするまで

## Desktopにレポジトリをクローンする

“`terminal
//terminalを開いてDesktopに移動する
$ cd (Desktopのパス)

// Gitクローンする
$ git clone (クローンしたいURL)
“`

完了!

##自分の更新を入れてプッシュする。
まず、ローカルのフォルダに自分のコードを入れたり、変更したりする。
そのあと、下記を行う。
※クローンしてすぐpushする場合だけ、しばらく立ってからやる場合は、下の二回目以降のやり方に従ってください。

“`terminal
// ステージングにあげる。これで全ての変更がステージに上がる。
$ git add .

// コミットメッセージを書く
$ git commit -m “コミットメッセージ”

//masterへpush
$ git push origin master

“`

##二回目以降

“`terminal
// ステージングにあげる。
$ git add .

// コミットメッセージを書く
$ git commit -m “コミットメッセージ”

//ma

元記事を表示

【Python】英単語をランダムに出題するLine botを作ってみた

#はじめに
前回、オウム返しbotを作ったので、応用して
英単語をランダムに出題するbotを作ってみました。

前回記事のリンク
https://qiita.com/takuya0125/items/36bdea94c249f592a59f

Heroku、gitの操作方法については割愛します。

#ディレクトリ構成
ディレクトリに下記のファイルを作成しました。
・main.py
Line messagingAPIを叩いたり、出題したりするメインソース

・high1.txt
高校一年生の履修単元における英単語とその意味を書いたテキストファイル

・Procfile
・requirements
・runtime
(隠しファイルに.git)

#実装
main.pyのファイル内について、解説します。
長いので、ファイルを分けた方が分かりやすいのですが、一つに集約しました。

“`main.py
#モジュールのインポート
from flask import Flask, request, abort

from linebot import (
LineBotApi, Webh

元記事を表示

git stash まとめ:commitしていない変更を隠して、後から復活する。

<随時追加>

ブランチ移りたいけど、commitしたくない。。。
->stashがあるじゃない。

“`
$ git stash save //変更を全て隠す. saveは省略可。
$ git stash -u //追跡されていないfileなども含めて全て隠す
“`
これでバリバリcheckoutしちゃえるぜ。

  
また、復活させたい時は、そのbranchに戻って、

“`
$ git stash list //スタッシュで隠した変更の履歴表示
stash@{0}: ~
stash@{1}: ~

$ git stah list -p // 変更内容も含めて表示
“`
戻ったじゃんね。

#参考文献

元記事を表示

Gitのインストール

## Introduction

分散型バージョン管理システムのGitのインストールを行うための一般的な方法について記載する。

## Method

### macOS

macOSではGitがプリインストールされているが、最新バージョンではないのでアップデートすることが望ましい。[^1]

GUIでインストールする場合は[git公式](https://git-scm.com/)より \>Downloads>Mac OS X からインストーラーをダウンロードして実行する。ダウンロードは自動で行われる場合がある。

セキュリティの警告が出る場合、**システム環境設定\>セキュリティとプライバシー\>一般**からインストーラー起動の承認を行う必要がある。

#### Homebrewを利用する場合

Homebrewをインストールしている場合、以下のコマンドでもインストールが可能である。GUIでのインストールとは排他的なので注意されたい。

“`Homebrew
brew install git
“`

### Windows 10

GUIでインストールする場合は[git公式](h

元記事を表示

Mac 開発環境整備 備忘録

Mac で 開発環境を整えるための備忘録です。

## 作業効率化
### [TypingClub](https://www.typingclub.com)
タイピング習得サイト

### [Alfred](https://apps.apple.com/jp/app/alfred/id405843582)
option + Space で アプリを切替

### [Better Snap Tool](https://apps.apple.com/jp/app/bettersnaptool/id417375580?ign-mpt=uo%3D6&mt=12)
ウィンドウサイズを瞬時に変更。370円。

### [Flycut](https://apps.apple.com/jp/app/flycut-clipboard-manager/id442160987?mt=12)
クリップボードマネージャ。複数の履歴を簡単に貼り付け可能。

### [TotalFinder](https://totalfinder.binaryage.com)
Finderの機能拡張。

### CpasLo

元記事を表示

マスターにマージ済みのgit ブランチを一括削除する | Delete all master-merged git branches

下記コマンドで一括削除可能

“`shell
git checkout master && git branch –merged | grep <検索キーワード> | xargs git branch -D
“`

# 前提
`master`・`マスター`は自社ないしご自分の状況に応じて、適宜読み替えてください。

# git branch –merged
[doc](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E3%81%AE%E7%AE%A1%E7%90%86)

> 便利なオプション –merged と –no-merged を使うと、この一覧を絞り込んで、現在作業中のブランチにマージ済みのもの (あるいはそうでないもの) だけを表示することができます。 現在作業中のブランチにマージ済みのブランチを調べるには git branch –merg

元記事を表示

Gitのconfigの設定、ローカルからリモートへのpush

ローカル環境のコマンドライン上でgitリポジトリを作成した際に
設定し忘れることがあるのでメモっておく。

– Author、Commiterの設定

“`
$ git config –local user.name “Name”
$ git config –local user.email “Email”
“`
– gitのAuthor、Commiterの変更

“`
$ git filter-branch -f –env-filter “GIT_AUTHOR_NAME=’Name’ GIT_AUTHOR_EMAIL=’Name’ GIT_COMMITTER_NAME=’Name’ GIT_COMMITTER_EMAIL=’Email'” HEAD
“`

– ローカルで作成したリポジトリからリモートへのpush

1. githubでリモートリポジトリを作成する
2. 以下のコマンドでリモートにpushする

“`
$ git remote add origin https://github.com/リモートリポジトリ
$ git push -u origin

元記事を表示

gitを使うためのssh keyの登録

[流れ](https://employment.en-japan.com/engineerhub/entry/2017/01/31/110000#GitHub%E3%81%AB%E5%85%AC%E9%96%8B%E9%8D%B5%E3%82%92%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B)
[公開鍵のコピー](https://qiita.com/tmiame/items/45af62872cf43c3b0842)

元記事を表示

gitでローカルファイルをリモートリポジトリへpushする

# 概要

gitへpushする際のコマンドをよく忘れるのでメモ

[フォルダ移動](#フォルダ移動)
[ローカルリポジトリの作成](#ローカルリポジトリの作成)
[add](#add)
[commit](#commit)
[リモートリポジトリの追加](#リモートリポジトリの追加)
[リモートリポジトリの削除](#リモートリポジトリの削除)
[push](#push)

## フォルダ移動

対象のファイルがあるディレクトリへ移動

##### 詳細

“`
$ cd [ディレクトリパス]
“`

##### 実例

“`
$ cd /root/test/playbooks/
“`

## ローカルリポジトリの作成

“`
$ git init
“`

## add

gitに登録したいファイルをaddする

##### 詳細

“`
$ git add [ファイル名]
“`

##### 実例

“`
$ git add *
“`

## commit

##### 詳細

“`
$ git commit -m [コミットコメント]
“`

##### 実例

元記事を表示

Gitのリポジトリを履歴を保持したまま分割する

最初は1つのRailsプロジェクトだったのですが、
webpackerを外したことにより、フロントエンドとバックエンドと同じにしている理由もなくなり、
デプロイする工程においてはむしろ作業が増えるので、分割することにしました。
その時のメモです。
少しでも同じ課題を抱えている方の参考になれば。

## 分割したいプロジェクトをclone
分割用に別途プロジェクトを用意しましょう。
失敗してもリセットできるように念の為

“`bash
git clone リポジトリURL
“`

## プロジェクトから不要リソースを取り除く(コミット履歴も含めて)

git filter-branchコマンドで不要リソースを指定
例)バックエンドのリポジトリを作る場合はフロントエンドのリソースを指定する

“`bash
# ファイル名の部分に「package.json frontend」といった感じにスペース区切りで記載していく ディレクトリも指定可
git filter-branch –tree-filter ‘rm -rf ファイル名’ -f –prune-empty
“`

コミット履

元記事を表示

共有サーバーにGitのリモートリポジトリを作成して作業をする

# ローカルで作業しているけど変更管理は共有サーバーでしたい
共有サーバーにリモートブランチを作成してローカルで作業するときの手順。

## 共有サーバー側の作業
「.git」を末尾に付与したディレクトリを作成して、変更管理用の初期化を行います。
※このディレクトリではソースなど作業ファイルを格納して作業を行うわけではありません。

“`console
$ mkdir hogehoge.git
$ cd ./hogehoge.git
$ git init –bare –shared
$ git remote add
“`
– ``: ブランチ名
– ``: 接続先(ローカルから接続できること)

例1; `$ git remote add origin C:/git/hogehoge.git`
例2; `$ git remote add origin http://hogehoge.git`

## ローカル側の作業
“`console
$ mkdir hogehoge
$ cd hogehoge
$ git init
$ gi

元記事を表示

【LINE bot】おいら、だじゃレンジャー!その2

#はじめに

以前の作成した、[だじゃレンジャーLINE bot](https://qiita.com/Hexans/items/06b9abdcfb4a838a18f7)の更新。

#問題点

1. 小学生には難解な漢字が多く読めない。
2. 与えられたお題(キーワード)でだじゃれを返せない場合、botからのレスポンスがなく、利用者が不安に。

#目的

1. 漢字にフリガナをふる。
2. だじゃれを返せない場合は、返せない旨を伝える。

#コード

## 1. 漢字にフリガナをふる。

[こちらの記事](https://qiita.com/kt-tsutsumi/items/599f287f15b8e4cb84f3)を参考にした。
手順としては、
1. Mecabで形態素解析
2. 漢字であればふりがなをふる。ふりがなは形態素解析の結果を用いる。
3. ふりがなは括弧書き()で、送り仮名はふりがなとは別に()の外に表示。

“`python:furigana.py
import sys
import MeCab
import re

def henkan(text) :

元記事を表示

Git のコミットの日時を指定のものにする

# Git のコミットの日時を指定のものにする

GitHub の草の関係で指定したい場合とか.

“`sh
$ git commit –amend –date=”Sun Mar 1 23:59:59 2020 +0900″
$ git rebase HEAD~1 –committer-date-is-author-date
“`

元記事を表示

Gitのユーザ情報設定メモ

git commitする時に必要な、ユーザ名とメールアドレス情報設定。
commitしようとした時に空だと設定してねと怒られる。PCセットアップ時とかにいつも忘れる。
(エラーメッセージ中でも以下のコマンドを実行せよと言われている…)

## globalで設定する場合

(その端末の)ユーザ全体で適用される。

“`bash
$ git config –global user.email “you@example.com”
$ git config –global user.name “Your Name”
“`

確認

“`bash
$ git config –global -l
“`

以下の行が入力した通りに表示されていればOK。

“`
user.name=Your Name
user.email=you@example.com
“`

## localで設定する場合

複数アカウントを使っている場合などに、特定ポジトリだけの設定をしたい場合は、そのリポジトリ内で、`–global`を外して実行すればOK。

“`bash
$ git config u

元記事を表示

Rails 5.2~ credentials.yml.enc/master.key の扱いについて(備忘録)

# credentials.yml.enc / master.keyとは何か
Rails 5.2 ~ からはsecret.ymlが廃止され、credentials.yml.enc / master.keyが導入されました。credentials.ymlはmaster.keyによって暗号化、復号化されます。secret.ymlは暗号化されておりませんでしたので、セキュリティ的にはより強固なものとなったようです。

## 特徴
– Rails 5.2 ~
– credentials.yml.encはmaster.keyとペアであり、master.keyによって暗号化されている。
– credentials.yml.enc, master.key共にデフォルトでgitignoreに追加されている。

# 編集及び取得方法
## 編集方法

“`
$ cd [アプリケーションのディレクトリ]
$ sudo EDITOR=vim bin/rails credentials:edit
“`

初めてこのコマンドを叩くとcredentials.yml.encとmaster.keyのペアが

元記事を表示

Git初心者がインストールからコミットできるまで【Windows編】

ネットで調べながらGitでコミットできるまで挑戦したら2~3時間程、苦戦したので同じステップを踏まないためにメモします

Windows10編

# 事前準備

1. インストールについては割愛。[一応リンク](https://gitforwindows.org/)

2.インストールできたら、Git Bash起動。

## 最初にやること

まずはインストールできてるか確認

“`
$ git –version
git version 2.25.1.windows.1
“`

##### ユーザ名とメアドの設定

“`
$ git config –global user.name “ユーザ名”
$ git config –global user.email メアド
“`

設定できたか以下のコマンドで確認

“`
$ git config –list


user.name= ユーザ名
user.email= メアド
“`

## SSHキー取得

リモートリポジトリとやり取りするためにSSHのカギが必要らしい。

#### SSHキ

元記事を表示

GitHubにて初回git addができない現象

#はじめに
ローカルリポジトリからリモートリポジトリへ初回pushしようとした際に起きたエラーについて備忘録として書きとめようと思います。

#現象
ローカルリポジトリにて、
git init後にgit addを実行すると以下のエラー文が表示されました。

“`
$ git add *
fatal: Unable to create ‘/vagrant/xxxxxx/.git/index.lock’: File exists.
“`
index.lockファイルが存在しているからエラーが出ているようです。
git statusで一応addできているか確認しましたが、addできておりません。

#原因
やはりindex.lockファイルがあるからみたいでした。

git/index.lockとは
同じgitのリポジトリ内で同時に複数の処理を行わないための排他制御を行うもの。
つまり,index.lockが存在するということは,裏で他のgit操作が行われている。

今回git addを実行中に画面がフリーズしたので強制再起動した経緯があり、その後から急にaddができなくなりまし

元記事を表示

OTHERカテゴリの最新記事