今さら聞けないGit 2019年11月13日

今さら聞けないGit 2019年11月13日

vscodeでThe git repository at XXXX has too many active changes, only a subset of Git features will be enabled.が出たとき

# VSCodeでGit関連のエラー

## 環境

Windows10
Git 2.22.0

**他人が作ったRails × NuxtのリポジトリをCloneして`yarn install`した後だった**

## エラー文

`The git repository at XXXX has too many active changes, only a subset of Git features will be enabled.`

Google翻訳に投げると

`XXXXのgitリポジトリにはアクティブな変更が多すぎます。Git機能のサブセットのみが有効になります。`

## 原因

yarn installの後にこのエラーが出る。。。

.gitignoreを見てみるとnode_modulesが指定されていない

つまり,node_modulesの中身を全部監視しようとしてこのエラーが出た。

## 解決
[https://github.com/vuetifyjs/nuxt/blob/master/template/.gitignore](https://github.co

元記事を表示

git flowを初心者なりにまとめてみた

# 読み手の対象者

つい最近gitやgithubを知った方やgit flow?名前は聞いたことあるという方を対象者としています。ですので、git flowをバリバリ使っているなどは物足りないと思います。

## git flowとは?

git flowとはgitのブランチを活用した開発手法であり、**ブランチ戦略**とも言われています。
ちなみに似たような名前でgithub flowという言葉もありgit flowと内容は似ていますが、同じではないので注意してください。

## git flowの5つのブランチ
ここからはgit flowの基本となる**5つのブランチ**とそれぞれの役割について説明していきます。
### masterブランチ
gitでの開発経験がある方なら分かると思いますが、最も有名なブランチです。
役割は、**本番と同期するブランチ**で基本はいじらないというブランチで、マスターブランチに管理者しか触れないようにプロテクトがかかっていることもあるくらい安易に触れない恐れ多いブランチです。

### developブランチ
新規開発されたものがマージされるブランチ

元記事を表示

Gitの運用方法(初心者向け)

初めましてYuyaです。
エンジニアとしては業務未経験のエンジニアである僕が某プログラミングスクールでチーム開発した時に実際に役立った(メンバーにはそこそこ好評だった)Gitの使い方の知見を残しておきたいと思い記事にします。
まだGitの使い方に慣れていない初心者に参考になると幸いです。

#個人開発編
###〜場面〜ローカルにリポジトリを作成し、リモートリポジトリにプッシュする
* Step①:現在いるディレクトリをgitで管理するための設定ファイルを生成(Gitの初期化)
`$ git init `.git 隠しファイルが生成される→正確にはリポジトリの初期化

* Step②:[file]の部分にファイル名を指定し、ステージングエリアに追加(基本は -A, —all など使用する)(全部あげたい時は 「. 」や「*」を使用 )
`$ git add [file] `

* Step③:メッセージをつけて変更履歴を保存
`$ git commit -m “コメント”`

* Step④:originという名前でリモートリポジトリのURLを登録
`$ git remote add

元記事を表示

Git ブランチの復活

「あれ?作ったはずのブランチが見つからない。。。
 間違って消しちゃった!」

そんな経験ありませんか?
「ブランチ管理がいい加減だからそんなことになるんだ!」
そう思ってた僕もとうとうやってしまいました。
結構差分が大きいコミットだったんですが、まだ元に戻せる可能性は残ってるみたいです。

## 方法

Gtiには**Reflog**というのがあって、ローカルリポジトリでのHEADの変遷を全て記録しています。
この**Reflog**を使って戻したい時点のコミットを探せば元に戻すことができます。
**Reflog**の履歴は`git reflog`コマンドで見ることができます。

“`sh:Terminal
$ git reflog
f5fd3ef39 (HEAD -> feature/switch_enabled_address) HEAD@{0}: rebase finished: returning to refs/heads/feature/switch_enabled_address
f5fd3ef39 (HEAD -> feature/switch_enabled_a

元記事を表示

CLOCとGitで日本語ファイル名のファイルを比較する

# はじめに
CLOCというツールでステップ数を集計しようとしたら、日本語のファイル名でエラーになりました。
それを解決した話。

# 結論
まず、結論から。
環境はMac。
エラー内容はこんな感じ。

“`
$ cloc –git –diff release feature
fatal: pathspec ‘myrepository/\343\202\212\343\203\274\343\201\251\343\201\277\343\203\274.md’ did not match any files
Failed to create tarfile of files from git. at /usr/local/Cellar/cloc/1.84/libexec/bin/cloc line 4713.
“`

圧縮ファイルが作れないって言ってる。
文字化け感満載。
下記コマンドをローカルリポジトリで一度流せば解決。

“`
$ git config –local core.quotepath false
$ brew install gnu-tar
$ expor

元記事を表示

Git fatal: Unknown index entry format

備忘録的に。
間違ったshellを動かしてgitレポジトリをぶっ壊してしまったとき。(.git ファイルなど隠しファイルにも影響を与えてしまった場合。。)

“`
$ git checkout .
“`
を行なっても下記エラー。

“`
fatal: Unknown index entry format x56axxxx
“`

ほなとりあえずローカルレポジトリのremoteとの紐付け消すか、としたら

“`
$ git remote rm origin
error: non-monotonic index .git/objects/pack/pack-12kjneffselfnwj3jwjk3wdnsdjknajw3dwdsjnd.idx
error: non-monotonic index .git/objects/pack/pack-12kjnadwselfnwj3jwjk3wdnsdjknajw3dwdsjnd.idx
error: non-monotonic index .git/objects/pack/pack-12kjnefffslfnwj3jwwk3wd

元記事を表示

Gitを使ってみよう

入社して1か月半経ったある日…

上司:bust_in_silhouette:<この案件はGitを使うから覚えてね~
a-takano<わかりました。(Gitってなんぞ?:rolling_eyes:)

a-takano<本格的にbacklogを使うようになってきたな…

とりあえず[サルでもわかるGit入門](https://backlog.com/ja/git-tutorial/)から始めよう!:monkey:
こっちもわかりやすいなー→[【イラストで覚える】初心者のためのGitとGitHub用語集](https://zukulog098r.com/git/)
随時更新していこう。

##Gitってなんぞや?
分散型バージョン管理システムの1つ。読みは「ぎっと」。
ファイルの状態を更新履歴として残せて、過去の状態に戻せたり編集した部分との差が見れる→**ファイル名に_aとか日付とか付けなくてもいい!**

同じファイルを2人以上で編集してアップロードをしようとしてもアラートが出るから、「間違って他の人の編集内容を上書きしちゃった!:scream:」なんてこともない。

##リポジト

元記事を表示

Git操作まとめ 〜Gitのコミット履歴確認

この記事では、Ubuntu18.04LTSにインストールしたGit(version 2.17.1)を使用しています。

チームではもちろんですが、個人での使用であっても今までのコミット履歴を確認する必要が出てきます。
そうすることで、誰が、いつ、どんな意図でその作業をしたのを理解することができ、効果的に開発を進めていくことができるようになります。

## 履歴確認

履歴を確認するには、以下のコマンドを使用します。

“`shell
git log
“`

実際に使ってみます。

“`shell
git log

commit 76d180faf45d1da99905f225830a07f7b9c31603 (HEAD -> master)
Author: xxxxxx
Date: Tue Nov 12 08:30:47 2019 +0900

initial commit
“`

このように表示されます。
1行目・・・commit コミットナンバー
2行目・・・Author コミットした人の名前とメールアドレス
3行目・・

元記事を表示

DataikuのプラグインテンプレートをDataiku外から作れないか試してみる

# はじめに
[Dataiku](https://www.dataiku.com)ではプラグイン開発を行う際にリモートのgitからcloneすることができます。
ところがリポジトリに中身がない(あるいはreadmeしかない)プロジェクトをcloneしようとすると「The plugin’s definition is invalid」なんて怒られてしまいます

ということでプラグインとgit連携の基本的な流れは…

1. Dataikuで空のプラグインを作成
2. リモートにpush
3. 他のDataiku環境からリモートのリポジトリををclone

ということになると思います。
ここで、

1. リモートで先にgitリポジトリ作成
2. 各Dataiku環境からclone

というのができないかなとちょっと気になったので調べました。

## 公式の説明
公式によれば次のように書いてあります
[公式ドキュメント](https://doc.dataiku.com/dss/5.0/plugins/reference/plugins-components.html)

>A DSS pl

元記事を表示

先祖返りが発生する理由がわからないIT部のPMがGit / GitHub を整理してみた

Git / GitHubがよくわからなかったので整理してみた。
元々の整理の発端はなぜベンダーが納品してくる成果物が頻繁に先祖返りするのかわからなかったから。GitHubで管理しているというが、なぜだ〜って感じ。調べてみたところ、Subversionと昔使われていたツールにしても最近使われているGitHubないしは類似サービスにしても人に依存する部分もあり先祖返り完全防止機能はないことがわかった(管理を間違えれば先祖返りはありうるということ)。
GitHub はコマンドベースで動く Git が使いやすくなっているサービスということも理解できた(メールで言うとGmail的な感じ)。この手の話題はネット上の資料だと日英問わず間違っている物や不完全な説明も多そうで、実際のところ私のまとめもただしいかどうかわからない状況。様々な文献をベースに図式化してみると次のようになった。

![git.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/518389/aaadd73d-7a48-65a1-f082-12c7d9

元記事を表示

rebaseとは

![IMG_20181025_170659.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/356480/e58b8301-2c08-adc5-bdc1-d54065c3de1b.jpeg)

ブランチ切って作業をしているときに、他の人がmasterに変更を加えていた場合に、シレッと今のmasterの先頭から自分がそのブランチを切って作業しているような状態にしたい。という場合はrebaseする。

### 手順
①“`git checkout master“`
masterにチェックアウト
②“`git pull“`
まずはmasterを最新の状態に進める
③“`git checkout topic“`
topicに戻る
④“`git rebase master“`
今のtopicをぎゅいんと最新にしたmasterの先にくっつける
(⑤masterのどこかのcommitでconflictした場合は、それを修正してrebaseを繰り返す)

元記事を表示

Gitについて学んだことまとめ

Githubを使ったことがあるし、なんとなく知っているけど、ちゃんとは理解できていないエンジニア未経験の私が
有識者の方々よりいただいたロードマップにそってGitについて学んだことをまとめたものです。

# 目次
1. Gitとは
2. Gitの操作方法
3. GitHubでのPRやMergeの仕方
4. Git Flow, Github Flowとは
5. 今後の課題

# 今回の学習のゴール
1. 代表的なコマンドがわかる(add, commit, push, rebase, merge, checkout)
2. GitHubでPRやMergeの仕方がわかる
3. Git Flow, GitHub Flowを知る

# 1. Gitとは
プログラムのソースコードなどの変更履歴を管理するシステム
いつ、誰が、ファイルのどの部分を変更したか記録でき、以前のファイルの状態に戻すことができる

# 2. Gitの操作方法
Gitの操作方法については、主に[Learn Git Branching](https://learngitbranching.js.org/?locale=ja)を

元記事を表示

Git操作まとめ 〜Gitの基本コマンド(git add / git commit / git status)

この記事では、Ubuntu18.04LTSにインストールしたGit(version 2.17.1)を使用しています。

Gitを操作する上で、基本的なコマンドの3つを書いていきます。
これらは、開発を進めていく際に常に心がけておく最低限のものです。

個人でバージョン管理を行う上で3つの階層が存在します。開発履歴をそれらの階層を行ったり来たりさせることで、履歴を残して行けます。その3つの階層はいくつかの呼び方がありますが、以下のものになります。

– 作業ディレクトリ(ワークツーリー)
– ステージングエリア(インデックス)
– リポジトリ(ローカルリポジトリ)

## コミット状況の確認
Gitの管理下にあるディレクトリの作業ディレクトリとステージングエリアの状態を確認するには、以下のコマンドを使用します。

“`shell
git status
“`

“`shell:実行結果
ブランチ master

No commits yet

追跡されていないファイル:
(use “git add …” to include in what will be com

元記事を表示

逆引きgitコマンド【備忘録】

 個人開発もgitでソースコードを管理したいと思っている。以下、少しまとめてみた。

### 基本的な流れ

1. GitHub等にリモートリポジトリを作成する
2. ローカル環境にリモートリポジトリをクローンする(ローカルリポジトリとなる)
3. クローンしてきたリモートリポジトリにdevelop/master(新ブランチ)を作成する。
4. develop/masterに開発の雛型となるもの(framework core等)をコミット
5. 追加機能ごとにfeautureブランチを作成し、実装後にdevelop/masterにpush
6. リリース時にdevelop/masterをmasterにマージ
7. デプロイ

#### リモートリポジトリの最新状態をローカルリポジトリに反映

“`bash
$ git checkout “作業ブランチ名”

#リモートリポジトリの最新状態をローカルリポジトリに反映
$ git fetch origin

#現在のディレクトリとサブディレクトリの中から追跡対象となっていないファイルを削除
$ git clean -df

#変

元記事を表示

Macで開発に必要なものを入れる手順メモ

# はじめに
Macをもらって色々インストールしようとしたら情報が散ってて悲しくなったのでまとめておく。
なお、個別のものは個別の人たちが書いているので基本はまとめるだけ。

## インストールしたい人たち
xcode
homebrew
git/gitflow
php/phpbrew

## 手順
### homebrew
homebrew を入れるのにxcodeがいるのでAPP Store よりインストールしておく。
やり方は以下
[MacにHomebrewを導入する方法](https://qiita.com/balius_1064/items/ac7dff5ef10eaf69996f)

### git
多分macに入っているけど個人的にはbrewで一括管理したいので入れておく。
[HomebrewでGitをインストールする](https://qiita.com/micheleno13/items/133aee005ae37c28960e)

補完およびブランチ名の表示
[bashでgitのブランチ名を表示](https://qiita.com/tanishi/items/2adb

元記事を表示

Git認証情報をローカルに保存する

# Git認証情報をローカルに保存する

CodeCommitでリポジトリ管理をされる方が前提です。

1. AWSにログインする

“`
https://xxxxxxxxx.signin.aws.amazon.com/console
“`

1. サービスからIAMを選択する

検索窓に「IAM」と入力する

1. 左列からユーザを選択する

1. ユーザ名の一覧が表示されるので、自分のユーザIDを選択する。

1. IAMユーザの「認証情報」タブを選択する

1. AWS CodeCommit の HTTPS Git 認証情報の「生成」を行う

下の方にスクロールすると、「AWS CodeCommit の HTTPS Git 認証情報」セクションがあるので生成を押下する。

   **注意!!**
   **Git認証情報は1ユーザにつき2個までです**

7. Git認証情報をローカルに保存します

「証明書のダウンロード

元記事を表示

railsアプリを新規作成し、gitで管理する

*まず最初に、初学者の投稿なのであまり参考にしないほうがいいかと思われます。*

#本日学習したこと
– railsプロジェクトを新規で始める際のGit & GitHubの使い方

まず、自分のGitHubアカウントにログインします。
ログインしたらヘッダーの右側のプラス(+)アイコンをクリックするとプルダウンメニューが表示されるので[New repository]をクリックします。

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

そうするとリポジトリを新しく作成する画面に遷移するので[Repository name]に作成したいアプリケーションの名前を入力します。

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

元記事を表示

gitについて実際にGUIを叩きながら知る。前半

この記事はgitって全くよくわからないけど便利らしいからぱぱっと使ってみたいという人向けの記事です。詳しいことは詳しい人に聞いてください。

なお、私はwindowsを使っておりますので基本的にwindowsのやり方をメインに紹介します。多分そんなに変わりません。知らんけど。

### 目次

gitとは

さっそくつかってみる

——

### gitとは

gitとはバージョン管理システムです。簡単に言うとこういう問題が解決します。

– 新しい機能入れたいけどバグったらどうしよう
– パソコン壊れるの怖いから楽に外部に保存したい
– 複数人で開発したいけど共有どうやるの
– 共有したはいいものの誰かがファイル構成変えやがった。誰だよくそ……

利点ばっかりです。すごい!さっそく使ってみましょう。

### 早速使ってみる

詳しい用語は抜きにしてさっそく便利なgitというものを使ってみましょう。用語は使いながら解説していきます。

#### gitのインストール

mac、windows、linux それぞれやり方が違います。自分の端末に合わせてインストール

元記事を表示

LaravelProjectをGitからPullしてからlocalhostで表示するまでの流れ

#初めに
どうもこんにちは、お久しぶりです。
一年ほど記事を書かない間に社会人になってしまいました。
今回、開発でLaravelを使うことになり、プロジェクトをPullしてから、画面表示できないという問題に直面しました。
その時に行った対処を記述していきたいと思います。
##前提条件
1. Git上に自分のブランチが作成されていること
2. プロジェクトに招待されていること(当たり前ですが。。。)
3. ソースツリーの設定が完了されていること(設定されていると楽です)

#今回の流れ
1. ブランチ作成、チェックアウト
2. Composerダウンロード
3. homebrewをInstall
4. php -v を7.2.Xにする
5. composer install

大まかな流れはこんなところになると思います。

##ブランチの作成
branch作成

“`
$git branch ブランチ名
“`
branch checkout

“`
$git checkout ブランチ名
“`
上記のコマンドでブランチ作成、チェックアウトまで行えます。

##Composerダウ

元記事を表示

よく使うgitコマンド備忘

gitコマンドをよく忘れてしまうので個人的な備忘です。

# マージコミットのリバート
“`
git revert -m 1 72bcd57
“`

#リモートリポジトリの作成
“`
git init –bare –share
“`

元記事を表示

OTHERカテゴリの最新記事