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

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

Git初心者(自分)によるWSLでのGit導入からGithubの使用まで[自分用]

#はじめに
自分用に適当に書くので参考にならなかったらすみません :clap:

#前提
– 実行環境は`WSL`
– GitHubのアカウントは作成済み
– 投稿主(初心者)の備忘録

#目次(やること)
1. GitをWSLにインストール[>>](#1-gitをwslにインストール)
2. 初期設定する[>>](#2-初期設定する)
3. リモートの作成[>>](#3-リモートの作成)
4. Gitにpush[>>](#4-gitにpush)
5. Gitからpull[>>](#5-gitからpull)
6. 変更のあったファイルを確認[>>](#6-変更のあったファイルを確認)
7. 変更のあったファイルの内容を確認[>>](#7-変更のあったファイルの内容を確認)
8. addされているファイルを確認[>>](#8-addされているファイルを確認)
9. 変更履歴を確認[>>](#9-変更履歴を確認)

#手順
$は入力しなくていいです。
##1. GitをWSLにインストール
wsl上で以下のコマンドを実行

“`bash:bash
$ sudo apt install g

元記事を表示

iOSでgitのcommit hashを取得し表示する

iOSアプリを開発していて、アプリの画面内にバージョン情報を表記することがあると思います。
この際、gitのcommit hashを表示したかったので、方法をまとめました。
こんな感じでバージョン情報を表記できます。
`1.0.0_d6d4de6`

Xcodeのバージョンは `Version 11.4 (11E146)` です。

# Info.plistの編集

`Info.plist` に `CommitHash` というkeyを追加します。
valueには `undefine` というStringを入れておきます。
Info.plist

# Build Settingsの編集

Build Settings の `Preprocess Info.plist File` を `YES` に変更します。
![

元記事を表示

Gitよく使うコマンド

## add する前の変更を取り消す

### 特定のファイルの変更を取り消す
“`
$ git checkout <ファイル名>
“`

### 特定のディレクトリ以下の変更を再起的に取り消す
“`
$ git checkout <ディレクトリ名>
“`

### 全てを元に戻す
“`
$ git checkout .
“`

## ブランチを作成

### 新規ブランチを造って、チェックアウト

“`
$ git checkout -b <新規ブランチ名>
“`
現在のブランチから新規ブランチが作成される

###リモートのブランチにチェックアウト(ローカルに対応するブランチを新規作成)

“`
$ git checkout -b <新規ブランチ名> <リモートのブランチ名>
“`

## ブランチを削除

### マージされているブランチを削除
“`
$ git branch –delete <削除するブランチ名>
$ git branch -d <削除するブランチ名>
“`
マージされていなくても変更がなければ削除できる。

### マージされていなブ

元記事を表示

Gitのファイル変更の取り消し(git checkout,git reset)について

#はじめに

こんにちは。
この記事をご覧になられている方、初めまして。
プログラミングを勉強し始めて一か月ちょっとのものです。

今回は現在学習中の Git , Git Hub で私が特に悩んだ git checkout , git reset の仕組みの違いについて一部を
記載していこうと思います。

簡単な記事ではありますが、間違った点などありましたら、ご指摘お願いいたします。

では早速、行きましょう。

#【悩んだ箇所】
Git Bash にて、ファイル変更を行い、その変更を取り消したものを cat コマンドにて確認しました。
git checkout コマンドでは変更は確認できましたが、git reset コマンドでは違いが確認できませんでした。

“`git:hogehoge.txt
#hogehoge.txtの中身を確認
$ cat hogehoge.txt
hogehoge
hogehoge2
#hogehoge.txtに「hogehoge3」を記載
$ echo “hogehoge3” >> hogehoge.txt
#上記の内容が反映されていることを確認
$ c

元記事を表示

Flutterコードをpushする前に静的解析チェックをする

Flutterアプリのリポジトリにflutter analyze, flutter formatをチェックするCIを設定したのでコードpushする前にチェックしておきたい。

`.git/hooks/pre-push` にこんな感じのスクリプトを置いてpush前にチェックすることにした。

“`
#!/bin/sh

prePush() {
runFlutterAnalyze
runFlutterDartFormat
}
runFlutterAnalyze() {
flutter analyze
status=$?
if [[ $status = 0 ]]; then
echo ‘[info] Pass flutter analyze’
else
echo ‘[error] Not pass flutter analyze, are you sure to push? [y/N]’
exec < /dev/tty read answer case $answer in 'y' | 'yes') echo '[info]

元記事を表示

git > アカウント切り替え後 > Permission denied と表示される

アカウント切り替え後に

“`
git config user.name
git config user.email

“`

1. Open “Keychain Access.app” (You can find it in Spotlight or LaunchPad)

2. Select “All items” in Category

3. Search “git”

4. Delete every old & strange item

5. Try to Push again and it just WORKED

[ssh – Git’s famous “ERROR: Permission to .git denied to user” – Stack Overflow](https://stackoverflow.com/questions/5335197/gits-famous-error-permission-to-git-denied-to-user)

元記事を表示

Git で、トラッキングしていないファイルをまとめて一括で .gitignore に追加する

## 目的

簡単なプロジェクトで、バージョン管理が必要なファイルが少なく、IDE が吐き出した管理不要なほとんどのファイルを無視したい、といった場合に。

## 手順

先ずはじめに、バージョン管理が必要なファイルだけ、ファイル名を指定した上で git commit しておきます。

残りは、管理する必要がないファイルなので無視しても良いのですが、git status するたびに出てきてしまうので、.gitignore に入れてしまいたい。でも、手作業でそれをするのは敗北を意味する。

そこで、以下のコマンドを実行します。

“`bash
git status –porcelain | grep ‘^??’ | cut -c4- >> .gitignore
“`

## 参考

何度かお世話になっているワンライナーですが、どうも毎回 Web 検索に苦労しているような気がするので、検索が容易になりそうなタイトルで投稿しておきます。

元ネタは以下です。

[github – How can I revert this command “git status –porcelain

元記事を表示

複数のコミットを一括でcherry-pickする

# 複数の連続したコミットをcherry-pickしたい
## コマンド
“`
git cherry-pick {始点となるコミットの1つ前のコミットハッシュ}..{終点となるコミットハッシュ}
“`
コミットハッシュを`..`でつなぐことで、間のコミットがcherry-pickされる

# cherry-pickしたい1つ前のコミットを指定することに注意
始点のコミットハッシュは、cherry-pickの対象に含まれないことに注意。

– commitA
– commitB
– commitC
– commitD

のうちcommitBからcommitDをcherry-pickしたい場合

“`
git cherry-pick {commitA}..{commitD}
“`
となることに注意。

“`
git cherry-pick {commitB}..{commitD}
“`
としてしまうと、commitCとcommitDのみがcherry-pickされてしまう。

元記事を表示

Nuxt.jsで初めて作成したポートフォリオをGitHub Pagesで公開しました

この記事は、「Nuxt.js ってなんですか?」な状態の人間が、やりたいことを盛り込んで作成したポートフォリオについて書いたものです。

# 作成したポートフォリオ
[https://tayuta.github.io/portfolio/](https://tayuta.github.io/portfolio/)
GitHub Pages に公開しています。

[https://github.com/tayuta/portfolio](https://github.com/tayuta/portfolio)
ソースコードです。

![キャプチャ4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178572/08478d28-e3ad-cd97-e1df-2c644a61ec31.png)
![キャプチャ5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178572/42a9e873-2b87-20b1-499a-fd52

元記事を表示

[備忘録]vimをgitのエディタのdefault設定に

## やったこと

3回くらい調べちゃったので書いておく

“`
$ git config –global core.editor vim
“`

bash -> zsh乗り換え時にdefaultのエディタがnanoになるので、慣れたvimを使いたい時のおまじない。
設定値は~/.gitconfigファイルに設定されています。

“`
[core]
editor = vim
“`

### 参考記事
[【Git】commitメッセージなど、デフォルトのテキストエディタを変更する](https://qiita.com/ma_me/items/f944101c97a4d0e4a842)

元記事を表示

git revertでコンフリクトした記録

# エラー
以下のようなエラーが出ました。

“`revert.sh

$ git revert HEAD~4
error: could not revert 54ea783… Adjustment plugin
hint: after resolving the conflicts, mark the corrected paths
hint: with ‘git add ‘ or ‘git rm
hint: and commit the result with ‘git commit’

“`

“`status.sh

$git status
On branch feature
You are currently reverting commit 54ea783.
(fix conflicts and run “git revert –continue”)
(use “git revert –abort” to cancel the revert operation)

Changes to be committed:

元記事を表示

AWS CodePipelineが対応していないgitリポからのCI/CD構築

# 本記事の対象読者
* AWS CodePipelineに対応していないgitリポから、CodePipelineに乗せたい人
* AWS Lambdaでgitコマンドを使いたい人

# CI/CDしたい
とあるAWSプロジェクトで、ソースコード管理にBacklog gitを利用していました。
どうせならCI/CDを組んでしまおうと考えたのですが、AWS PipelineがBacklog gitに対応しておらず。。。

そこで、Backlogのwebhookを使ってS3にまでソースコードを連携する以下のようなアーキテクチャ構成としました。
アプリ自体はnuxt.jsで作成しており、buildしてS3にアップロード、静的WEBとして公開することがゴールです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545043/213288de-10dd-758f-8772-0cf8f7efd554.png)

# 実装環境
AWS Cloud9

* Serverless Frameworkを利用

元記事を表示

gti cloneでリポジトリの中身だけ取ってくる

普通にgit cloneするとリポジトリ名フォルダが作られる。
中身だけほしいときは[orogin-url]のあとにドットを記述する。

“`terminal
$git clone [origin-url] .
“`

元記事を表示

git 過去の複数コミットのコメントを修正する

# これはなに
過去の複数のコミットのコメントを一斉に修正した際のメモ。

# 考え方
git rebase を使用して、既存のコミットを新規コミットで置き換える際に、コメントを書き換える。

# 手順
まず、修正するコミットのハッシュを調査する。

“`
$ git log –first-parent
“`
修正したいコミットの、ひとつ前のコミットのハッシュを調べる。

つぎに、git rebase を開始する。

“`
$ git rebase -i
“`
指定した hash の次以後が rebase の対象となる。
標準 editor で以下のような編集画面が開く。

“`
pick d66d1fc3a feat: define placeholder at patients
pick fa93d61e7 feat: define placeholder at groups
pick 4a015ad56 wip: rem placeholder
pick 73c8ae6a4 feat: add place hol

元記事を表示

開発ファイルをgithubで管理する方法

#開発ファイルをgithubで管理する方法

新しく開発を始める時にそのファイルをGitやGithubで管理したい!
そんな時に使用するコマンドをメモがてら書きます。

##1 管理したいファイルへの移動

“`
cd 管理したいファイル名
“`

##2 git init
管理したいファイルまで移動したらgit initコマンドを打ちます。

“`
git init
“`

そうすることでファイルに.gitファイルが作成されます。
この.gitファイルにはGitで使用されるファイルが新しく作成されます。

##3 git add .

“`
git add .
“`
ファイルの変更をステージングします。

##4 git commit

“`
git commit -m “コミットメッセージ”
“`

変更をcommitします。

##5 git hubに移動
git hubでファイル名と同じ名前のリポジトリを新規作成します。
リポジトリのURLが表示されるのでコピーします。

##6 git remote add origin URL

コマンドで

“`
git

元記事を表示

GitとGitHub(とTortoiseGit)を連携させる方法

異業種転職から1年が経過し、仕事で初めてソースを触った際にGit(とAWSのCodeCommit)を使用しました。
仕事ではスケジュールの関係で先輩が手取り足取り準備を進めて下さったのですが、
「自分でも出来るようにしておこう」ということで試行錯誤しました。
今回GitHubで試してみたのは、個人学習に使えそうだと考えたためです。

#  私の環境
 ・Windows 10 Pro(64bit)
 ・Ver 1909 Build 18363.720
 ・ThinkPad T480s

#0. GitHubアカウントの作成
 プロジェクト/リポジトリの有無は今回は問いません。
 ・作成済であれば、「1. Gitのインストール」に進んでください。
 ・未作成であれば、[こちら](https://github.com/)から作成が可能です。
  手順は以下の通りです。

 取得したいユーザー名・メールアドレス・設定したいパスワードを入力
  ↓
 「Sign up for GitHub」をクリックし、無料版か有料版かの選択画面に遷移
  ↓
 「Unlimited public reposi

元記事を表示

gitで自分のローカル環境ファイルだけ無視したい

色々参考にしたが、自分の場合は.gitディレクトリ内にinfoディレクトリもなければexcludeファイルも無かったのでそこからの適用方法。

まずはターミナルでプロジェクトディレクトリに入ったあと、

## プロジェクトフォルダから.gitディレクトリに移動

“`
$ cd .git
“`

## infoディレクトリ作成
“`
$ mkdir info
“`

## excludeファイル作成
### ディレクトリ移動
“`
$ cd info
“`

## excludeファイル作成
“`
$ touch exclude
“`

`.git/info/`にexcludeファイルが作成されていることを確認。

テキストエディタでexcludeファイルを開き、`.gitignore`と同じ要領で除外ファイルを適用。

元記事を表示

Githubの使い方(擬似チーム開発)

#この記事の目的
RailstutorialにしたがってGithubを利用しているだけだとつまらないので、一人二役で擬似チーム開発をやってみたのでそのやり方を書き残しておきます。自分のアウトプットようなので内容はお察し程度です。今後、時間をに余裕がある時に追記予定
#開発作業からプルリクエストまで(1回目)
1、 issueをなんでもいいから定義して、自分のローカルブランチにそのissue用のトピックブランチを作成 or “`$ git pull “` or “`$ git clone“`

“`
$ git checkout -b ブランチ名
“`
2、 作業を終える
3、“`git status“`とか“`git diff“`などで自分が作業して変わったところとの差分を確認
4、“`$ git add -A“`
5、“`$ git commit -m“`
6、“`$ git push origin HEAD“`でカレントディレクトリをGithubにpush
7、リポジトリページの[Compare & pull request]を押してプルリクエストを

元記事を表示

不要なブランチを一気に削除するワンライナー

gitを使っていると、ついつい不要なブランチが手元に溜まりがちですよね。そんな時は以下のコマンドで一括削除できます。

“`sh
git branch | grep -v master | xargs git branch -D
“`

※masterは残す前提です。masterにcheckoutしてから実行してください。

毎回打つのは長いのでエイリアスに登録しておくと良いでしょう。それすらめんどくさい人はツールを作ったので使ってください。
https://github.com/yuzoiwasaki/sweep

元記事を表示

複数のgithubアカウントをノンストレスで運用する方法(脱ssh鍵設定)(git credential helperの活用)

# はじめに

githubは公式でも言っているように、基本的に1人1アカウントで運用することが推奨されています。
しかし、様々な事情で複数のGithub Accountを利用している人も多いのではないでしょうか。
そんな時に困るのが、git commandを使用する時の認証だと思います。

実際にググってみると、以下のような回避方法がありました。

1. ssh keyを登録して、ssh configを設定して切り分ける方法(一番王道)
2. 1つのリポジトリだけであれば、 `https://username:password@github.com/xxx/xxx` でcloneする方法(リポジトリ一つならこれが圧倒的に楽)
3. `.netrc` を切り替えて使う方法 (sshの設定しなくていいけど、手動切り替え)

しかし、sshの鍵登録するのもいやだし、すべてのremote設定を `git://` にするのも面倒。 `go mod` もノンストレスで動いて欲しいし、httpsでやりたいけど、毎回手動で切り替えもしたくないとずっと悩んでいました。

そこで少し調べてみると、 `g

元記事を表示

OTHERカテゴリの最新記事