今さら聞けないGit 2021年08月04日

今さら聞けないGit 2021年08月04日

【AWS】S3を利用した Git LFS サーバを作成する【cli版】

# S3をLFSサーバにしてCodeCommitでGitLFSを使えるようにする

## 目標

– gitlfsの基本を学ぶ

– [Amazon S3 に Git LFS サーバを超簡単に立てる](https://qiita.com/kanemu/items/d66bfd174a011d8dffdf)のcli版を作る

## 環境

– AWSアカウント所有済み
– IAMを自由に操れる権限を持っている

## 手順

### AWS-CLI の設定

– codecommit の権限があるIAMユーザのクレデンシャルを登録する

“`
$ aws configure
“`

– 認証情報ヘルパーを設定する

“`
$ git config –global credential.helper ‘!aws codecommit credential-helper $@’
$ git config –global credential.UseHttpPath true

$ cat .gitconfig

[credential]
helper = !

元記事を表示

RPGでボスを倒しながらGitを学べば魔王も倒せる(GitFork) commit branch merge

# 概要

* macOS BigSur 11.4
* Fork Ver 2.7

この記事で解説するのは以下の三つ

・`commit` コミット(保存)
・`branch` ブランチ (分岐)
・`merge` マージ (統合)

また、GitクライアントのForkのスクリーンショットを使用して解説します
Gitの導入やForkのインストール、アカウント連携などは解説しません

あくまでツール上でやりたいことがわかるように解説することが目的なので
現実的にありえないシチュエーションが発生する場合があります

下のよくみるやつは登場しません

“`
$ hogehoge
“`

# 対象の勇者

バージョン管理って言葉は一応聞いたことあるよ!
でもなんか用語が多くて難しそうだし使うの怖いな
俺は言葉じゃなくてツールの使い方で理解したいんだ!

っていう感じの勇者の皆様

記事を読んだベテラン勇者も認識が間違ってる部分があったらぜひマサカリ魔法お願いします

# 登場人物

* 勇者(常に独り言を言う)
* 女神(かしこい)

# Lv1. ボスの前に着いた!まずはセーブ! `co

元記事を表示

Gitの基本コマンド

##はじめに
これから実務に入るにあたって、コマンドを調べる際に効率的に調べられるようにまとめました。

##Gitでよく使うコマンド

###git clone

Gitリポジトリのコピー
ファイルと.gitディレクトリの両方がコピーされる。

“`
$ git clone <リポジトリ名>
“`

###git add
変更をステージに追加する
※ステージは一部のファイルを変更するために存在する

“`
$ git add <ファイル名>
$ git add <ディレクトリ名>
$ git add .
“`

###git commit
変更を記録する(コミット)
#####<わかりやすいコミットメッセージ>
1行目:変更内容の要約
2行目:空行
3行目:変更した理由

“`
$ git commit
$ git commit -m “<メッセージ>” //エディタ立ち上がらずに記録
$ git commit -v //変更内容を確認できる
“`

###git status
現在の変更状況を確認
①ワークツリーとステージの間で変更された

元記事を表示

特定のファイルをGitの管理対象から除外する方法

##はじめに
修正したファイルをgit addするとき、いちいちファイルを指定するのは面倒なので

“`
$ git add .
“`
と、全てのファイルを対象にしていました。
しかし、これでは開発環境でのみ必要なファイルのような「Git管理したくないファイル」まで追加されてしまいます。
そうしてファイルをGitの管理対象から外すには、.gitignoreというファイルに書き込む方法があります。

##.gitignoreとは
.gitignoreとは、記述されたファイルやフォルダなどをGitの管理から無視(ignore)するファイルです。
ただし、すでにリポジトリにあるファイル等は除外できません。
あとから.gitignoreに追加した場合は、リポジトリから特定のファイル等を削除する必要があります。

##.gitignoreを作成する
除外したいファイルがあるディレクトリに.gitignoreを作成します。

“`
$ touch .gitignore
“`

##除外したいファイルを書き込む
.gitignoreと同じディレクトリにあるファイルを除外したい場合は、/ファ

元記事を表示

gitコマンド

#目次
[1.はじめに](#1-はじめに)
[2.大まかな流れ](#2-大まかな流れ)
[3.gitコマンドの一連](#3-gitコマンドの一連)
[4.感想](#4-感想)
[5.おわりに](#5-おわりに)

#1. はじめに
railsチュートリアルでGitコマンドをしばらく触っててある程度
push,branch,margeがわかってきたので一連の流れをまとめます。

前回

https://qiita.com/ak-matsu/items/e8a6fa4f654b9d82994b

#2. 大まかな流れ
– 初期化後、Githubへアクセス
– リモートリポジトリへアップ
– ブランチ作成
– マージ
– ブランチ削除

#3. gitコマンドの一連

“`shell

Gitでパスワードを一定時間保持するように設定する
$ git config –global credential.helper “cache –timeout=86400”

Gitリポジトリの初期化
$ git init
$ git add -A

まだステージングエリアで控えているので

元記事を表示

チーム開発には欠かせないgitgubの機能、プルリクエストについて。

###この記事を作成したきっかけ…
MENTAのあだちんさんに環境構築を見てもらう機会があり、知らないコマンドや手順が多くいくらコードが書けるようになってもグループ開発ではgitが使えないと感じたので備忘録として残します。

####プルリクエストとは

プルリクエストとは、開発者のローカルリポジトリでの変更を他の開発者に通知する機能です。プルリクエストは次のような機能があります。

・機能追加や改修など、作業内容をレビュー担当者や
 に通知される。
・ソースコードの変更箇所をわかりやすく表示

######自分–>pull request–>レビュー担当–>Merge–>main

####1.mainブランチに移動
ブランチを作る時は基本的にmainブランチからにする

“`
$ git checkout main
“`

####2.現在のブランチを確認

“`
$ git branch
“`
*マークがついているのが参照中のカレントブランチ
main *
module1
module2

####3.現在のブランチを元に新しいブランチを作成

元記事を表示

【CentOS8】Git LFSのインストール【v2.13.3】

# git lfs インストール手順

Git LFS の検証をするためにインストールする
手順を残しておく
完全にメモ用

## 環境

– Cloud : Google Cloud Platform (GCP)
– Service : Google Compute Engine (GCE)
– OS : CentOS Stream 8
– type : e2-standard-2 (2core 8GB)

## installするもの

– git-lfs : v2.13.3(2021/08/02 時点最新)
– depenency : git_v2.27.0 , git-core , git-core-doc , perl-Git , perl-Error , perl-TermReadKey ←インストールされる

## 手順

### dnf update しておく

“`
# dnf -y update
“`

### git-lfs最新版yumrepoを取得

CentOS8のリポジトリのやつはバージョン`2.11.0`
最新イ

元記事を表示

git stashでコンフリクトが起きたときの対処

## 【Git】git stashでコンフリクトが起きたときの対処

https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning

`git stash`は現在のブランチで変更をコミットせずに退避・一時保存できるコマンド

### たまに遭遇するケース

結構前に退避したものを`git stash pop`や`git stash apply`で元に戻そうとした時、色々なコミットを取り込んでしまっていると、場合によっては以下のような感じでコンフリクトが起きることがある

“`bash
# 1 退避
git stash

# 2 別の人のコミットなどを取り込んだ後に元に戻そうとする
git stash apply stash@{0}

# 3 コンフリクトが起きる
error: Your local changes to the following files would be overwritten by merge:
~/ファイル名
Please commit your changes or stash

元記事を表示

xserverのgitを最新化したけど、ssh経由の操作しかできない。

# 問題

Xserver上でGitを使いたいが、ちょっと、古いので、最新のバージョンを利用したい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133291/0e095195-ea8b-8a3f-a198-40d838f47587.png)

# TL;DR

OpenSSLまでリビルドする必要があるので、バージョンアップは諦めるかな。。。

同じく、HomeBrew(LinuxBrew)を入れてみたけど、GitとCurlのバージョンが古いのでこちらもインストールにコケたりする。

この辺、Xserverの運営者のギリギリのラインになるのかな?って思いました。

# 作業内容

こちらの記事を参考にさせていただいて作業を行う。

[Xserverへgitの最新版をインストールする](https://qiita.com/y-ngi/items/7a170a19d809d2f49a15)

こんな感じでgitのバージョンアップをしました。

![image.png](https://

元記事を表示

git submoduleメモ

# submoduleを導入する

以下のとおりサブモジュールを追加すると

“`bash
$ git submodule add -b master https://github.com/nyandora/sub-module
“`

以下の変更がステージングに登録される。

* `.gitmodules`ファイルが追加 or 変更される。
* 追加:サブモジュールの導入は初の場合
* 変更:他にサブモジュールがあったり、既存のサブモジュールを全て削除した場合
* `sub-module`という**ファイル**が追加される(ディレクトリではない。以下に`new file`とあることから、ファイルであると分かる)。sub-moduleリポジトリのどのコミットを参照しているか、という情報を持つ。シンボリックリンク的なもの。

“`bash
$ git status
On branch master
Your branch is up to date with ‘origin/master’.

Changes to be committed:
(use “git

元記事を表示

gitについて / Ubuntuでgitをインストール

#gitとは

分散型のバージョン管理システムのこと。

複数人で共有するリポジトリ(=リモートリポジトリ)・ユーザ1人に作業リポジトリ(ローカルリポジトリ)があり、、普段の作業はユーザそれぞれのローカルリポジトリ上で変更を管理する。
公開可能な状態になれば、リモートリポジトリに対してアップをする。対して、リモートリポジトリから更新が必要になった際には、各ユーザのタイミングでローカルリポジトリへ反映が可能。

※ソースコードのバージョン管理システムにgitを使用したソフトウェア開発のプラットフォームとして特に有名なのが”**GitHub**“であり、プライベートリポジトリ(履歴管理を行う場所)を無料で使用可能。

###バージョン管理システムがなぜ必要なのか
バージョン管理システムがなかった時代は、ファイル名やフォルダ名で差別化を図ったり、ソースコードにコメントで修正内容や日時をメモしていたが、こうしたやり方では特

元記事を表示

CircleCIでデプロイした後にGitHub Actionsでタグとリリースノートを作成する方法

# これはなに
元々、CircleCI でデプロイした後に、手動でタグを作成して GitHub に push していたのですが、タグ作成部分を GitHub Actions で自動化したので、本記事でまとめておこうと思います。(リリースノートはついで・・)

# 事前準備
1. [GitHubの個人アクセストークンを作成する](https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)(`repo権限`が必要なので、権限を選択する際にチェックを入れてください)

1. 取得したトークンを[CircleCI側に設定する](https://circleci.com/docs/ja/2.0/env-vars/#setting-an-environment-variable-in-a-project)(本記事では、`GITHUB_TOKEN`という名前で設定していることを前提で進めます)

# g

元記事を表示

gitでブランチ生成~削除まで実施してみようー!

# 1. 新しいレポジトリーを作る
https://github.com/

gitに入りnewボタンをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1070645/f92bb294-d3c8-bc32-a8ea-f8c8b2a60043.png)

新しいレポジトリー名を入力してcreate repositoryをクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1070645/45c72653-8264-5296-9f87-52e96af6a40d.png)

レポジトリー完成!

# 2. プロジェクトクローン

先生成してgitのパスをコピーしてローカルにクローンしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1070645/f42c637a-541

元記事を表示

Flutter Packageをカスタマイズする

こんにちわ、語学交換マッチングアプリ『CROSSER』の開発者です。:smile:
この『CROSSER』なのですが、FlutterとFirebaseを用いて開発しております。
今回は、Flutter Packageをカスタマイズする方法を記載していきたいと思いますので、このパッケージめっちゃいいけど!なんか惜しいな!!って時に是非参考にしてみて下さい!:clap:

#はじめに
語学マッチングアプリ『CROSSER』の概要についてはこちらを参照ください!

https://qiita.com/crosser202008/items/0ca7e9c190bc3dff7516

#今回書くもの
– Flutter Packageをカスタマイズして利用する方法

#使用するもの
– Git

#Flutter Packageカスタマイズ手順
①カスタマイズしたいパッケージのページにいく
今回はswipable_stackというパッケージをカスタマイズしていきます。
https://pub.dev/packages/swipable_stack

②Versionsページでカスタマイズし

元記事を表示

git pull –rebase でリモートリポジトリの更新を取り込む

###はじめに
本稿は執筆者の備忘録です。
記述内容に誤りなどありましたら、教えていただけると幸いです。
また、末尾に[参考サイトのリンク](#参考サイト)を貼り付けています。
より詳しい解説となっておりますので、ぜひそちらもご覧ください。

#メインブランチは更新される

最近はチーム開発に関わるようになり、個人学習よりも本格的にgitを使うようになりました。
自分に振られたIssueをこなすので精一杯なのですが、如何せん時間がかかります。

ようやく動作確認までして、いざpush!、、と思いきや、コンフリクトしているようです。
何やら数日前に大きく改修したらしく`自分がブランチを切った際のメインブランチが古くなっていた`ということらしい。

なんか、自分の仕事が遅いような気がしてちょっと切なくなります。
が、しかしこれはチーム開発である以上避けては通れない道ですよね。

#メインブランチの更新を取り込む

作業ブランチで更新されたメインブランチを取り込むには、

“`git
git pull origin {mainブランチ名}
“`

とすればOKです。

また、`pul

元記事を表示

GitとGitHubを基本からまとめてみた【5】【GitHub Pages】

##はじめに

####学習するに至った経緯

未経験からエンジニアへの転職を目指し、プログラミングを勉強中。
Git/GitHub/GitHubDesktopの使い方を理解しているところと理解していないところが
ごちゃ混ぜになっている事が判明。
自身の理解の整理と言語化による認識の深化による備忘録として記載。

##GitHub Pagesとは
『GitHub Pages』とは、GitHub のリポジトリから HTML、CSS、および JavaScript ファイル を直接取得し、任意でビルドプロセスを通じてファイルを実行し、ウェブサイトを公開できる静的なサイトホスティングサービスのこと。

####メリット
– Webサーバーが一切不要
– JavaScriptやjQueryも作動する
– GitHubアカウントを持っていれば3~5分程度で公開できる
– 「xxx.github.io」のドメインがもらえる (xxxはあなたのユーザー名)
– ドメイン設定をすれば独自ドメインの使用も可能

####デメリット
– GitHubを使っているのでソースコードが公開される
– サーバーに

元記事を表示

現場で使用していたGitコマンド集

#目次
[1.よく使うコマンド](#1-よく使うコマンド)
[2.実際に使用していた手順](#2-実際に使用していた手順)
[3.押さえておきたい概念](#3-押さえておきたい概念)
[4.git pullとgit pull -rの違い](#4-git-pullとgit-pull–rの違い)
[5.さいごに](#5-さいごに)

#1. よく使うコマンド

##①git checkout ブランチ名
ブランチを移動する。

“`
git checkout feature/kana/dayo-123456
“`

##②git status
修正があるファイルを確認する。

“`
git status
“`

##③git checkout .
②で修正があるときに修正を取り消す。

“`
git checkout .
“`

##④git pull -r
ブランチを最新化する。
※git pullとの違いについてはこの記事の最後にまとめています。

“`
git pull -r
“`

##⑤git pull -rp
複数の人が同じブランチで作業しているとき、他方の修

元記事を表示

githubアカウントを複数使い分ける

githubでメインアカウント、サブアカウントがあるとして
アカウントを使い分けられるように設定していきます。

## githubのssh接続先を分ける

.ssh/configの接続先を分けます。

“`
Host github # メインのgithubアカウント用
HostName github.com
User company-user
IdentityFile ~/.ssh/id_rsa_github_company
IdentitiesOnly yes
Host github-sub # サブ用。github.com以外の任意のHost名
HostName github.com
User private-user
IdentityFile ~/.ssh/id_rsa_github_private
IdentitiesOnly yes
“`

上記の接続先の設定で接続テストができるか確認。

“`
$ ssh -T git@github-sub
Hi {githubのID}! You’ve successfully authenticat

元記事を表示

githubでissueのテンプレートを作成する方法

# 概要
ポートフォリオ作成にあたり、開発タスクをissueを使って管理することにしたので
issueのテンプレートを作成し、楽にissueをかけるようにしたかった。

## 作成方法

### Settingsへ移動する
まずはissueを作成したいプロジェクトへ移動し、
settings -> Optionsを選択
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601125/cf12536d-6698-495e-23e6-4ec0d30a5eba.png)

### テンプレートを作成する準備
FeaturesのIssuesの`Set up templates`をクリック
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601125/55fc2c51-2458-f9e5-09a4-4403c39b6fd5.png)

### 作成画面
`Add template: select`をクリックし、任意のテン

元記事を表示

.gitignore

.gitignore とは?

Git の管理に含めないファイルを指定するためのファイル。

設定方法

`.gitignore`という名前でテキストファイルを作成する。

使用例

特定のフォルダの中身全てを無視する

“`
/config/
“`

元記事を表示

OTHERカテゴリの最新記事