今さら聞けないGit 2021年09月15日

今さら聞けないGit 2021年09月15日

macOSのzshではこれだけはやっておこう

## Homebrew を使います

まだ [Homebrew](https://brew.sh/) をインストールしていない場合はこちら:

“`sh:zsh
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`

## 1. パスの設定

M1 Mac (Apple Silicon) の場合は、**Homebrew** 向けにパスを通しておく必要があります。

“`sh:zsh
# デフォルトのパスを確認
zenn@mba ~ % echo $path
/usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Apple/usr/bin /Library/Frameworks/Mono.framework/Versions/Current/Commands
“`

Intel Mac であればこのままでも差し支えありませんが、Apple Silicon Mac では **Home

元記事を表示

ワンライナーtips

業務で使える一行コマンドを、列挙しました。

#windows コマンドプロンプト

“`prompt:シャットダウン
shutdown -s -t 0 -f
“`
windowsのファイル検索

“`prompt:ファイル検索
dir -s -q -b xxxx.jpg
“`

“`prompt:ファイル検索2
where /r c:/users xxxx.jpg
“`

#git コマンド
windowsの場合、コマンドプロンプトで実行すること!!(powershellだと文字化けが解決しない)

“`prompt:おそらく文字化けするので、最初に実行する。
SETX LANG ja_JP.UTF-8
“`

“`prompt:gitで差分をパッチファイル出力
git diff > aaaaa.patch
“`

“`prompt:パッチファイルを適用する
git apply aaaaa.patch
“`

“`prompt:変更の取り消し
git checkout .
“`

#正規表現
“`prompt:平仮名3文字
[\u3040-\u309F]

元記事を表示

gitの過去のコミットを分割する

# はじめに
gitのコミットを整理することは大事です。特にチーム開発をしている時は、コミット履歴の綺麗さがレビュアーの生産性に直結します。
なので、自分はPRを出す前にコミット履歴をまとめて整理することがよくあります。

ですが、大きなPRを作る時など、整理したつもりが間違えてコミットを作ってしまうことがあります。

例えば次のような感じです。

“`
– init project
– create package1
– package1/file1.txt 追加
– create package2
– package2/file1.txt 追加
– add files to package1
– package1/file2.txt 追加
– package1/file3.txt 追加
– package1/file4.txt 追加
– package2/file2.txt 間違えて追加
– add files to package2
– package2/file3.txt 追加
– package2/file4

元記事を表示

【git】【初心者向け】git pull はどうやら推奨されないらしい。

こんにちは!

未経験からフロントエンドエンジニアを目指し学習5ヶ月目の者です。
これまで学んだことの整理&備忘録の目的で投稿します。(今回が初投稿!)

今日の内容は、現在ボランティアとして参画しているスタートアップで初めての共同開発に挑戦していて、gitについての理解不足からやらかしてしまった話です。。

初学者の方の参考になると幸いです。

概要

・“`git pull“`
 をするとリモートリポジトリの内容がローカルリポジトにソースが引っ張られ、ワークツリーに内容が反映される
・その際、ローカルリポジトリにあった未コミットの内容はbranchが上書きされるため消える

:::note alert
→ git pull すると未コミットの内容が吹っ飛びます!!
:::

対処法

1.“`git pull“` をする前にはbranchを切ってコミットしておく(未コミットのものがある状態でgit pullしない)

2.“`git stash“` で未コミットの内容を退避させておき、“`git pull“`後に戻す

3.やってし

元記事を表示

ローカルリポジトリをGitHubへアップロードする

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

“`Powershell
git init
git add .
git commit -, “init commit”
“`

現在のディレクトリの内容の初期コミットが行われる。

## GitHubで新規リポジトリを作成する

Initialize the repositoryにいろいろとチェックボックスがあるが、それらはチェックしない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/467168/08cb6110-0539-f474-8d0e-664dcf3d49ca.png)

作成後、アップロードするのに必要なURLが表示されるので、それをコピーする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/467168/3303bcce-24ca-fdae-9462-12602dfa1c58.png)

ローカルリポジトリに戻る。

## Gi

元記事を表示

githubでフォルダに矢印が!やっと解決した話 

#githubでフォルダに矢印が出てやっと解決した話
はじめに、この画像をご覧ください。
矢印フォルダ.png
section4フォルダに矢印がついています。何これ?
で、中身はというと、、、
矢印フォルダの中身.png
あれ???
理想は、こんなイメージにしたかった。
結果3.pngGit コマンド(メモ)

#Gitコマンド一覧

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

“`
$ git init
“`
###変更分を全てをステージする(指定も可)

“`
$ git add .
$ git add ファイル名
“`

###変更を記録する(コミット)(変更、削除、新規作成、複数ファイルの変更内容)

“`
$ git commit -m ‘コミットメーセージ’
“`

###一つ前のコミットをやりなおす(※プッシュしていないもの)

“`
$ git commit –amend
“`

###リモートリポジトリを新規追加する

“`
$ git remote add origin(リモートリポジトリ名)git@~
“`

###プッシュする(リモートリポジトリをGitHubに送る)

“`
$ git push origin ローカルブランチ名
“`

###現在の状況を確認する(変更、削除、新規作成、複数ファイルの変更内容)

“`
$ git status
“`
###git addする前の変更分

“`
$ git diff
“`
###変更履歴を確認

元記事を表示

【Git】変更履歴確認方法

# ファイルの「行単位」の変更コミットIDを確認

“`bash
# 行単位のコミットIDを確認可能
$ git blame <ファイル名>
“`

# 「コミット単位」の変更履歴を確認

“`bash
# 最新のコミットの詳細を表示する
$ git show

# 指定したコミットの詳細を表示する
$ git show <コミットのハッシュ値>
“`

元記事を表示

gitでエラーメモ書き Windows

#いつもと違うPCのときに遭遇したエラー
“`
git push リモートリポジトリ名 master
fatal: ‘リモートリポジトリ名’ does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
“`

###リモートリポジトリの指定

“`
git remote add リモートリポジトリ名 リモートリポジトリのURL
“`

###公開鍵を作成
“`
ssh-keygen -t rsa -C “アカウントのメールアドレス”
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/PCユーザー名/.ssh/id_rsa): /Users/PCユーザー名/.ssh/鍵の名前(なんでもOK)
En

元記事を表示

git clone –depth 1 したリポジトリの履歴をやっぱりすべて取得する

ビルドで過去のコミット数を参照している部分があり、`–depth 1`でクローンしたリポジトリのすべての履歴が後から必要になりました。
以下のコマンドですべての過去のコミット数が取得できるようになりました。

“`
git fetch –unshallow
“`

参考
https://stackoverflow.com/questions/6802145/how-to-convert-a-git-shallow-clone-to-a-full-clone

元記事を表示

Gitを学ぼう!【2章】

今回も「Gitを学ぼう!【1章】」に続き、Gitについての記事を書いていきたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします。

#学習内容について
・リモートリポジトリでのGitの基本コマンドを理解する。
・リモートリポジトリにPC上の変更をアップロードする。

#前提条件
GitHubでNew repositoryを選択してリポジトリ名を入力し、「git-practice」という名前のリポジトリを作成しておきましょう。このリポジトリを使った複数人で行う開発(チーム開発)でよく使うコマンドを学んでいきます。

##ローカルリポジトリとリモートリポジトリを紐付ける
まずは、前提条件で作成したリモートリポジトリを、ローカルリポジトリと結びつけます。
結びつけるには、2つの方法があります。

**1.リモートリポジトリを複製(clone)して、ローカルリポジトリを作成する。**

**2.ローカルリポジトリを作成してから、リモートリポジトリにpushする。**

本章では、2の方法を実施します。

それでは実際に作業を行いたいと思います。
mkdirコマン

元記事を表示

【初級者向け】ターミナル(zsh)にgitのブランチ名表示&補完機能を公式ドキュメントをじっくり読み解いて実装

## はじめに
やまだゆう([@yamaday0u](https://twitter.com/yamaday0u))です。
今回は、ターミナル(zsh)でgitを操作するときにとても便利な以下の機能を実装します。

– ブランチ名の表示
– Tab補完

## 目標
自身のターミナルで以下のようにブランチ名の表示とTabキーによる補完機能を実装することを目標とします。
![スクリーンショット 2021-09-07 22.36.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/849306/7a14d3c2-fa6b-44ba-8d2b-29e316be0fd8.png)

## チャレンジ
原典・一次情報から学ぶ習慣を身につけるべく、なるべく公式ドキュメントを参考にしていきます。
手っ取り早く実装したい場合は以下の記事を読んでください。大変わかりやすい記事です。
[【zsh】絶対やるべき!ターミナルでgitのブランチ名を表示&補完【git-prompt / git-completion】(Qiita)

元記事を表示

安心してforce pushしたい。

雑メモです。

### git で force push したいけど、操作を誤っていないか毎度ビクビクしてしまう。
そんな心労に少しでも楽になる方法を考えてみました。

私の事例で恐縮ですが、force push する際に怖いのは…
1. 誤ったブランチを指定してしまう
2. 共同開発してるブランチで, 相方のコミットを吹き飛ばしてしまう

この2点が代表的だと思います。

1点目に関しては、大切な main (master) や, topic といったマージコミットのみを集合とするようなブランチは、そもそも git push による直接更新をできないようにしておくべきでしょう。 ブランチ保護機能を有効にします。
[Github の設定方法](https://docs.github.com/ja/github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)
[Gitlab の設定方法](https://gitlab-doc

元記事を表示

Powershellでgit stash showすると「Too many revisions specified: ‘stash@’ ‘MAA=’ ‘xml’ ‘text’」と表示される

Gitのstash内容を表示しようとすると「Too many revisions specified: ‘stash@’ ‘MAA=’ ‘xml’ ‘text’」とエラーが表示されます。

“`powershell
> git stash show stash@{0}
Too many revisions specified: ‘stash@’ ‘MAA=’ ‘xml’ ‘text’
“`

原因は`{}`が構文解析されているためです。
stash名を文字列扱いとさせれば正常に動きます。

エスケープする。

“`powershell
git stash show stash@`{1`}
“`

文字列にする。

“`powershell
git stash show “stash@{1}”
“`

構文解析対象外にする。
[about_Special_Characters Stop-parsing token (–%)](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.cor

元記事を表示

一発で、現在のrepoのremote urlとpathをブラウザで開く方法

## TL;DR

“`
% [sudo] gem install git-browse-remote
% git browse-remote .
“`

https://github.com/motemen/git-browse-remote

## その他の方法

### 1. 自作

“`

% sudo cat >> /usr/local/bin/gitremote << 'END' git remote -v | awk -v P="$(git rev-parse --show-prefix | sed 's/\/$//g' | nkf -WwMQ | sed 's/=$//g' | tr = % | tr -d '\n')" '/origin.*push/ { sub(/\.git$/, "", $2); newvar=$2"/tree/master/"P; print newvar}' | xargs open END % sudo chmod +x /usr/local/bin/gitremote % gitremote ``` https://gis

元記事を表示

gitコミットでignoreされるThe following paths are ignored by one of your .gitignore files:

###状況:

“`
% git add .
“`
githubにpushしたのになぜか一つのファイルだけ無視されている

“`
% git add index.html
The following paths are ignored by one of your .gitignore files:
index.html
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: “git config advice.addIgnoredFile false”
“`

###解決:

-f for force
addの後にオプション ”-f” + ファイル名

“`
% git add -f index.html
“`

元記事を表示

Android StudioとGitHubとの連携手順

#概要
GitHubにプライベートリポジトリが無償作成できるようになって、アプリ開発をする際のバージョン管理が楽になりました。
が、意外に手順を忘れかけた時に必要となってくるので忘備録を残しておきます。

#環境
基本的に、WindowsでもmacOSでもLinuxでも手順は変わらないので、あえてOS別には書きません。
今回はWindows10です。

##Android Studio
Android Studioのバージョンは、「Arctic Fox //2020.3.1」です。
一応、日本語化してます。(日本語化:https://mergedoc.osdn.jp/ )
![q0912001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/1c1a7cbf-583b-2f45-3dd2-ac149ff215f7.png)

##Git
Git:https://git-scm.com/

Gitをインストールしている状態にしてください。
GitHubで管理するにしても、裏ではGitのコマンド

元記事を表示

共同開発

インターン生で共同開発をしようという提案が通り、レシピを投稿する簡単なサービスを開発しました。共同開発したサービスの概要、過程、利用したツール等についてまとめていきます。

##メンバー
僕を含めた3人(特に分野を決めていませんでしたが、結果的に僕が開発、他2人が設計中心になりました。「[特に苦労したこと](#特に苦労したこと)」)

# サービス概要
### Food Frofessor
レシピを投稿し、編集、お気に入り登録、コメントができる基本的なサービスです。
[特に苦労したこと](#特に苦労したこと)の経緯や、「共同開発」を経験するといった目的が理由でそこまでハイレベルなサービスにしませんでした。
![food_frofessor-top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/848640/f9de6ff9-4f5b-f941-f34e-951d0b92e165.png)

URL: https://food-professor.herokuapp.com/top (初回のみデータの読み

元記事を表示

git コマンド覚書

# 初期設定

“`
git clone
git add .
git commit -m
git push origin main

git pull
git fetch → git merge
“`
ワークディレクトリがクリアになった状態のファイルは
pullすると同期される。
リモートで削除されていればローカルでも削除される。
ただし、ローカルで変更を加えたファイルはpullしても変更はない。

# コミットの構成
`圧縮ファイル` – `ツリーファイル` – `コミット`

|ファイル|内容|
|:-|:-|
|圧縮ファイル|圧縮されたファイルデータ|
|ツリーファイル|今のワークディレクトリ内の圧縮されたファイルのデータの一覧|
|コミット|ツリーファイル・親コミット・作成者・日付・コミットメッセージ|

#変更点の確認

## git add する前の変更分
“`
git diff
git diff “ファイル名”
“`
## git addした後の変更分

“`
git diff –staged
“`

# 変更履歴
“`
git log
git log

元記事を表示

開発に超最低限必要なgitコマンド[超入門][GUIのgitツール利用者向け]

## 目標と前提
* mac osを使っている
* gitを用いて作業ブランチを切るところから最新mainブランチの同期まで、必要な超最低限度使用するコマンドを使えるようになりたい
* Source TreeなどのGUIツールを使った開発には慣れているが、ターミナルでのgitコマンドには慣れていない
* 既にローカルリポジトリの作成をしている(git init)
* ターミナルでgitコマンドを利用するとやらかしそう
* 超入門者である

## gitコマンドの流れ

### 1.作業ブランチを切る
ローカルリポジトリのメインブランチから作業ブランチを切りましょう。

まずは`git checkout`コマンドで、mainブランチへ切り替えてください。
そのあと、`git branch hogehoge`で、”hogehoge”の部分を好きな名前にして作業ブランチを切ります。
ここでは”feature/hogehoge”とします。

“`zsh:zsh
> git checkout main
> git branch feature/hogehoge

“`

ローカルリポジトリに

元記事を表示

OTHERカテゴリの最新記事