今さら聞けないGit 2020年09月02日

今さら聞けないGit 2020年09月02日

【GitHub】Deploy keysを使ってsshでpullするまで

# 概要
githubリポジトリのDeploy keysに公開鍵を登録してAWS EC2(Amazon Linux2)上でsshでpullしてくるまでの手順

# 手順
## 1. 公開鍵と秘密鍵を作成する
サーバーに(ec2-userで)ssh接続し、`git pull`したいユーザーで公開鍵と秘密鍵を作成する。

“`shell:console
// 今回はtamorieeeenというユーザーでgit pullしたい
$ sudo su – tamorieeeen

// .sshディレクトリを作成(無い場合)
$ mkdir .ssh
$ ls -la | grep ssh
drwxrwxr-x 2 tamorieeeen tamorieeeen 6 Aug 31 14:38 .ssh

// ディレクトリの権限が775になってると思うので700に変更
$ chmod 700 .ssh/
$ cd .ssh

// id_rsa_githubという名前で鍵を作成
$ ssh-keygen -t rsa
Generating public/private rsa k

元記事を表示

gitlab の private repository を go get する

## TL;DR :pencil:

1. `read_api`と`read_repository`権限のついた、gitlab [Personal Access Token](https://gitlab.com/profile/personal_access_tokens)を作る
1. `~/.netrc`を作成

“`bash:~/.netrc
machine gitlab.com
login yourname@gitlab.com
password yourpersonalaccesstoken
“`
1. `go get`する

“`bash
GO111MODULE=on GOPRIVATE=gitlab.com/group go get gitlab.com/group/subgroup/hoge.git@v1.0.0
“`
1. container image や CI 内でやりたい場合ば、`.netrc`を`go get`する環境に渡してあげる

## Private reposito

元記事を表示

Githubでのリモートリポジトリの復元方法

# 間違えて消してしまった
先日、いらないリモートリポジトリを消そうとしたら、間違えて必要なリモートリポジトリを代わりに消してしまいました。

#復元方法
まずは、自分のプロフィール写真を選択し、settingsをクリックします
![スクリーンショット 2020-09-02 2.23.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669290/d8dda408-2ab9-f8b2-317c-43d360554763.png)
そして、Repositoriesをクリックします。
![スクリーンショット 2020-09-02 2.25.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669290/f207c137-f387-2f08-b72e-88e59131267b.png)
Repositoriesの中からDeleted repositoriesに復元したいファイルを発見し、Restoreを選択する
![スク

元記事を表示

【備忘録】はじめてのGit環境構築 #1

# 前置き
最近,プログラミング等の勉強をするモチベーションが高いため,自分が書いたソースコードを,しっかり管理していきたいと感じた。
仕事ではPerforceやSubversionといったバージョン管理システムを使用してきたが,
これからの時代はやはりGitを使えるようにしていくべきだと感じ,Gitの環境を構築することとした。

## 環境
OS:Windows10
Git:2.28.0

## Gitのインストール
まずは,以下の[Git公式サイト](https://git-scm.com/)からインストーラをダウンロードする。
ダウンロードしたインストーラを起動。

__1.ライセンスについて表示されるので,内容を確認し「Next」をクリック。__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686741/b0c50e82-59e9-aa73-9079-a6104bab498f.png)
__2.インストール先を聞かれるので,特にこだわりがなければデフォルトのまま「Next」をク

元記事を表示

bundleとbundle installの違い

ない。

元記事を表示

GitHubのコンフリクトについてまとめてみた

どうも、ねこきち(@nekokichi1_yos2)です。

現在所属しているオンラインサロンで、チーム開発をすることになり、GitとGitHubの使い方を学んでいます。

ただ、プルリクで異なるブランチをマージする際に起こるコンフリクトについて
・どう解消する?
・競合するコードはどう表示されてる?
の疑問がありました。

今回は、**実際のコンフリクトがどんなものか**、を備忘録として書きます。

## 使用したコード

“`swift
//ブランチ master
import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

for i in 0…10 {

元記事を表示

GitのGUIツール Sourcetreeをインストールする

# はじめに
当記事は、Windows10にGitがインストール済みであることを前提としています。
そして、「CUIだと使いづらい!GUIのツールいいのないかなぁ?」って人を対象としています。

# Sourcetreeダウンロード
GitのGUIツールは様々なものがありますが、今回はいろんな参考書でもおなじみの『Sourcetree』を対象とします。
初心者でも見た目直観で分かりやすい画面なので、是非おススメです。

まずは、[https://www.sourcetreeapp.com/](https://www.sourcetreeapp.com/)にアクセスして、『Download for Windows』をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222607/62bc3e2d-fc3b-1e20-ff7d-d24706b1709a.png)

下記の通りチェックをONにして『Download』ボタンをクリックします。

![image.png](http

元記事を表示

WindowsにGitをインストールする

# はじめに
当記事の対象は、まだGitを扱ったことがない方及び、初心者を対象としています。
WindowsにGitをインストールしてコマンドで操作するところまでを解説します。
Guiのツールを扱ったGitの操作解説については、今後別ページで解説する予定です。

# Gitのインストーラーのダウンロード

Gitのインストーラーは、[Git-scm.com](https://git-scm.com/download/win)からダウンロードできます。
下記の『64-bit Git for Windows Setup』をクリックして、インストーラーをダウンロードしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222607/388cc4cd-002a-5656-9364-057a3cb088d3.png)

# インストーラーの実行
ダウンロードしたインストーラーを実行します。

『実行』ボタンをクリック!
![image.png](https://qiita-image-sto

元記事を表示

大量のコミットを一つにまとめたい時

#はじめに
Railsでポートフォリオ作成中にcircleCIでCIを導入してたときに、testコミットが33個になってしまったので、一つにまとめる過程をメモとして書きたいと思います。

#やりたいこと
masterブランチからtestというブランチを切って、CIの設定をあれやこれやと試していたらコミットが33個になってしまって、それをmaterにmergeするのは嫌だったので、一つにまとめたい。

#やったこと
– [こちらの記事](https://dev.classmethod.jp/articles/git-rebase-fixup/)を参考にコミットをまとめる。
まとめたいコミットの数を数え(自分の場合は33)、以下のコマンドを叩く。
`git rebase -i HEAD~まとめたいコミット数`
するとvimが開くので一番上のコミット以外のpickをfに変換する。
[こちら](https://qiita.com/waoooon/items/8d982e49692c8145ca4b)を参考に自分はvimの置換機能を使いました。

– 自分の場合はもともとのコミットメッセージがt

元記事を表示

【Git】最初にやる設定と設定内容の確認

###最初にやった方がいい設定

“`
$ git config –global user.name “ユーザー名を入力”
$ git config –global user.email “Emailアドレス”
$ git config –global –global color.ui ture
“`

###現在のGitの設定内容がどうなっているかの確認方法

“`
$ git config -l
“`

これでずらずらと設定内容が表示される。

元記事を表示

リモートリポジトリから特定ブランチをpullする

リモートリポジトリから特定のブランチをpullする

“`
git pull https://repository_address branchname
“`

参考
https://docs.github.com/ja/github/using-git/getting-changes-from-a-remote-repository

元記事を表示

よく使うgitコマンド

よく使うgitコマンドのまとめ
随時追加していく

## グラフ形式でコミットログを出す
グラフ形式でいろいろ見やすいように出す
`git log –oneline –graph –remotes –tags –branches`

## あるコミットの差分を出力する
`git show commithash123`

## 差分のあるファイル名のみ表示する
たとえばmasterからHEADまでの差分があるファイル名一覧を取得するには
`git diff master –name-only`

元記事を表示

最新のgitをインストール

## gitのinstall方法

– 依存関係のあるライブラリのインストール

“`sh
yum install openssl-devel curl-devel expat-devel wget gcc
“`

– 最新のgitのURL確認

[こちら](https://mirrors.edge.kernel.org/pub/software/scm/git/) にアクセス。
`git-X.XX.X.tar.gz` の最新バージョンのリンクをコピー
→ `https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz`

![無題 – ペイント 2020-08-31 19.18.53 – ペイント 2020-08-31 19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/9b3ffddd-1eec-9445-7a00-5b7c363a9b7a.png)

– gitパッケージのダウンロード

“`sh

元記事を表示

いつも使っているgit stash saveは非推奨だった…

Gitのドキュメントには非推奨と書いてあった…

“`
This option is deprecated in favour of git stash push.
It differs from “stash push” in that it cannot take pathspec.
Instead, all non-option arguments are concatenated to form the stash message.
“`

これからは

“`bash
git stash push
“`

を使います…

元記事を表示

WinPCのgitで「fatal: Authentication failed for XXX」が出た時の対応方法

# 対象読者
以下のWindowsPCを使用しており、HTTP経由でのpullやcloneした時に“`fatal: Authentication failed for“`が出ている人が対象読者です。
以下がエラーメッセージ。

“`
> git clone https://gitserver.com/XXXX/XXXX.git
Cloning into ‘Database’…
fatal: Authentication failed for ‘https://gitserver.com/XXXX/XXXX.git’
“`

# 解決方法:Window 資格情報を追加
**Windowsの資格情報を追加**します。
コントロールパネル → ユーザアカウント → 資格情報マネージャーに進みます。
そして下の画面の「Windows 資格情報の追加」を追加します。
![2020-08-31_15h15_00.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247515/1e0753ff-6521-7

元記事を表示

[備忘録]git-secretsが原因でコミットできなくなったときの解決手順

##経緯
後輩にSourcetree環境構築を教えていて、
リモートリポジトリからクローン後、ファイルを初回コミットしようとした際に発生した。

調べてみると`git-secrets`が邪魔をしていた。
後輩曰く、プライベートでAWSにデプロイする機会があったとのことだったので、それ関係で入れていたとのこと。
今は使用していないとのことなので、削除する方向で対処した。

またいつかハマりそうなのと、今回解決した内容が一式書いてあるところが見当たらなかったため備忘メモ。

##環境
**Mac Pro(2019モデル)**

* **OS**: macOS
* **CPU**:core i5
* **RAM**:8GB

**Sourcetree**

* **バージョン**: SourceTree version 3.3.9

##エラーメッセージ

* `Sourcetree`でファイルをコミットしようとした際に、以下のエラーが発生。

“`
git: ‘secrets’ is not a git command. See ‘git –help’.
“`

ターミナル上で`gi

元記事を表示

Gitについて学んだこと

## はじめに
Gitについてインストールからはじめ学んだことを自分用のメモとして残していきます。
また、新しく勉強したら そこも随時更新していきたいと思います。

(間違っているところがありましたらご指摘いただけると幸いです!)

##Gitとは?
Gitはバージョンを管理してくれるシステムのこと。

– ファイルの過去の変更履歴を見れる
– 変更してから変更前に戻したいなーって時は戻って復元できる
– 共同開発するときには大元から枝分かれさせて各々で作業ができ、後から作業内容を統合できる

(=同じ場所を同時に編集していて、それに気づかずファイルを上書き!ってことを防げる)

などなど複数人で作業するときにより便利となってくるようです

##Gitをインストールする
まず[こちら](https://docs.github.com/ja/github/getting-started-with-github/set-up-git)のサイトを見ながら(Gitをセットアップするの部分)Gitをインストール

私のmacに command line toolというものが まだ入っていないこ

元記事を表示

Gitの用語をわかりやすくまとめる(レポジトリ?コミット?ブランチ?)

#プログラミングの勉強日記
2020年8月30日
チーム開発には欠かせないGitの用語をまとめる。

#レポジトリ
 Gitの基本的な機能で、時系列でファイルの記録を整理することができる。この記録を管理するデータベースをレポジトリという。データを一元的に管理することができ、最新のデータだけでなく昔のデータも見ることができる。
 すでに誰かが作ったものをコピーしてくることをレポジトリのクローンといい、自分で空のものを作成することをレポジトリのイニットという。

#コミットとコミットメッセージ
 レポジトリに現在のファイルの内容を記録することや、その結果作られた記録のことをコミットという。
 Gitではファイルを変更するたびにコミットすることができる。複数のファイルをまとめてコミットすることも1つのファイルをコミットすることもできる。
 コミットしない限りファイルの変更はリポジトリに記録されない。

Git clone から pushまで

#Gitの使い方
**リモートリポジトリからclone→ローカルでブランチ作成→ファイル修正→リモートにpushまでの方法のまとめ**

**ディレクトリ作成**
“`mkdir test“`

**ディレクトリ移動**
“`cd test“`

**リポジトリからファイルをクローン**
“`git clone URL(githubのリポジトリのURLを貼り付け)“`

**ブランチ作成参考URL**
https://backlog.com/ja/git-tutorial/reference/branch/#section2

**現在のブランチを確認(ここからの操作はvscodeのターミナルでも可能)**
“`git branch“`

**ブランチの作成**
“`git branch hoge(hoge部分は自分の作りたいブランチ名を設定)“`

**ブランチの変更**
“`git checkout hoge“`

**ここまで進んだらでファイルの編集を行う**

**編集が終わったらステージング**
“`git add README.

個人的によく使うGitコマンド

仕事でもプライベートでもGitを使うことが多いので、
個人的に使うGitコマンドをまとめました。
Gitコマンド忘れた場合は是非、こちらのページを参考にしてください。

## clone
– リモートリポジトリをローカルに複製する

“`bash
git clone <リポジトリのURL>
“`

## remote
– fork元を追加する

“`bash
git remote add <名前> <リポジトリのURL>

# よく使うのは
git remote add upstream <リポジトリのURL> #fork元リポジトリを追加する
“`

## fetch
– リモートリポジトリの情報を取得する

“`bash
git fetch <リモート名>

# よく使うのは
git fetch origin
git fetch upstream
“`

– フェッチする際にリモートリポジトリ上で削除されたブランチを削除する

“`
git fetch -p <リモート名>
“`

`-p`は毎回つけたいので`.gitconfig`のエイリアスに追加する

“`