今さら聞けないGit 2022年06月01日

今さら聞けないGit 2022年06月01日

topic branchで変更した内容を全部なかったことにしてくれ〜〜〜!!!

# トピックブランチをマージしてないのにmain(master)に変更内容がmergeされてる…?

勉強不足で恐縮ですが、 topic branchをマージせず、checkoutしてmain branchに戻すだけで変更内容を消せると思っていた。
実際やってみたら、コンフリクトせず、topicで変更した内容が反映されているように見えた。

そこで、以下変更内容を完全に消すようにしたい。
“`
$ git status
On branch topic-branch
Changes not staged for commit:
(use “git add/rm …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: README.md
deleted: app/assets/stylesheets/users.scss
mo

元記事を表示

差分なしcommitをする方法

# 差分なしcommitをする方法

複数の作業を分割して行う際に、mainに直接マージしたくない際に使います。
備忘録です。

“`zsh
git commit –allow-empty “commit message”
“`

# 使い方
“`zsh
git checkout -b test
git commit –allow-empty “testです”
git push origin test
“`

元記事を表示

仮想マシン上にKubernetesでデプロイしたGitLabのリポジトリをクローンする方法

※リポジトリのhttp://〜をそのまま入力してもクローンできない

#### 1. 仮想マシンのIPアドレスを調べる
“`
$ hostname -I
“`

#### 2. GitLabのnodeportを調べる
“`
$ kubectl get service
“`
#### 3. git cloneを行う
“`
$ git clone IPアドレス:nodeport/~/~
“`

元記事を表示

コミットリント(commitlint)を導入し、コミットメッセージをlintする

## はじめに
開発現場ではコミットメッセージが適当だと、後から見た時や他の人が見た時に???になって、開発のネックになってしまう事はままあると思う。今回はコミットメッセージが各人でバラバラで独自的なものにならないように、git hooksでコミットメッセージにリントを書ける方法についていきたいと思う。

## ひとまずやってみる
私はNode.js(Javascript)で開発している事もあり、[commitlint](https://github.com/conventional-changelog/commitlint)を利用する。

設定方法等は[Guide: Local setup](https://commitlint.js.org/#/guides-local-setup?id=guide-local-setup)に書かれているのでそちらを参照して行っていくが、私はgit hooksを設定するのに[simple-git-hooks](https://github.com/toplenboren/simple-git-hooks)を使う事にした。

※simple-git-

元記事を表示

gitコマンドのtab補完を有効化する方法とは?(brew/zsh)

# はじめに
gitコマンドのtab補完を有効化する方法について記事を書いていきたいと思います。
いろいろ検証しましたが、こちらの方法が簡単だと思っています。

# 前提
– macOSを使用予定(macOS Monterey バージョン12.4)

“`zsh
% sw_vers
ProductName: macOS
ProductVersion: 12.4
BuildVersion: 21F79
%
“`

– Homebrew導入済み(バージョン 3.4.11)

“`zsh
% brew –version
Homebrew 3.4.11
Homebrew/homebrew-core (git revision 0416e8f4521; last commit 2022-05-30)
Homebrew/homebrew-cask (git revision 9c7cef6f71; last commit 2022-05-30)
%
“`

– brewを用いてgit導入済み

“`zsh
% which git
/usr/local/bin/git
% git ver

元記事を表示

Gitを初期設定する

Gitを使うユーザーを設定します。
“`
$ git config –global user.name ‘hikotaro’
$ git config –global user.eamil ‘hikotaro_san@yaoo.co.jp’
“`

Gitの出力をカラー表示するように設定します
“`
$ git config –global color.ui auto
“`

設定した内容は、~/.gitconfigファイルに保存されます。
“`
[user]
name = hikotaro
email = hikotaro_san@yahoo.co.jp
[color]
ui = auto
“`

元記事を表示

CentOSに最新のGitをインストールする

# Gitの最新版のソースを取得する
Webブラウザで、Gitの[ダウンロードサイト](https://git-scm.com/download/linux)を表示します。
[download a tarballリンク](https://mirrors.edge.kernel.org/pub/software/scm/git/)をクリックしてください。
![スクリーンショット 2022-05-29 7.31.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/1d1fc36c-62ba-b99a-49c6-b313ce116665.png)

ソースファイの一覧が表示されます。
最新バージョンのファイルをダウンロードしてください。
“`
# cd /usr/local/src
# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.36.1.tar.gz
“`

# Gitをインストールする
ダウンロードしたファ

元記事を表示

Update homebrew & git

# Update brew (2.x -> 3.4.1)
* brew –version
* /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
* brew –version

# Update git (2.7.1 -> 2.36.1)
* brew update && brew upgrade
* git –version
* brew install git

* brew link –overwrite isl
* brew link git
* brew link –overwrite git

元記事を表示

Atomでgit pushするときにユーザー名とパスワードが求められてもpushできないとき

[【Git】2021年8月13日からGitでリモートにアクセスができなくなった。Support for password authentication was removed on August 13, 2021.](https://ios-docs.dev/20210813support-for-password/)

> Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access ‘/’: The requested URL returned error: 403

こういったエラー文が出てgit pushできなかったのですが

元記事を表示

Gitの個人的な使い方まとめ

## 事前知識
作業ディレクトリ
   ↓
ローカルリポジトリ
   ↓
リモートリポジトリ

の順番で上げで行く

## 初期設定
フォルダーを指定し以下のコマンドを入力しローカルリポジトリを作成する
“`
git init
“`

“`
git remote add origin 任意url
“`

誰が変更したかを確認するための情報入力
– ユーザ名
“`
git config –global user.name 任意のユーザ名
“`
– メールアドレス
“`
git config –global user.email 任意のメールアドレス
“`
– 登録情報の確認
“`
git config –list
“`

## GitHubのアカウント作成
[github](https://github.com/new)にアクセスしアカウント作成
以下省略

## ssh
push時にidとps入れるのめんどうなのでsshの設定をしておく

以下コマンドでssh鍵生成しgithubに投げる
> ※この鍵は本人確認で使うんだなと思えば良い
“`
$ ssh-ke

元記事を表示

【Git】リモート追跡ブランチと上流ブランチを理解する【fetch・merge】

## リモート追跡ブランチ、上流ブランチ

![git.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2422749/d3ce3aba-c98b-8cb9-bab0-a8d789bef067.png)

– リモート追跡ブランチ([remote-tracking branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefremotetrackingbrancharemote-trackingbranch))
– リモートブランチの状態を追跡するブランチ
– ローカルリポジトリに存在する(実体は`.git/refs/remotes/`)
– 上流ブランチ([upstream branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefupstreambranchaupstreambran

元記事を表示

SourceTreeユーザーは`stree`コマンドを使うと残業時間が15秒減ります

## 先に結論だけ

– ターミナルから`stree`コマンドを実行すると、カレントディレクトリでSourceTreeが立ち上がります。
– vscodeやWebStormなど、ターミナルと統合されたエディタで`stree`コマンドを使用するとSourceTreeのリポジトリブラウザを操作する必要がなくなります。

## はじめに

この記事は、SourceTreeコマンドラインツールと、`stree`コマンドの使用方法を共有するためのものです。

### 想定する環境

– macOS 11.6.5
– SourceTree v4.1.8(243)
– Git 2.35.3

### 想定する読者

– Gitを利用している
– SourceTreeを利用している
– 複数のワークスペースを操作する必要がある

## SourceTree command line tools とは

SourceTree command line toolsとは、SourceTreeをコマンドラインから起動可能にするヘルパーアプリケーションです。
macOSの場合、実行ファイルは`/Applicat

元記事を表示

Git を使うたための初期設定(windows クライアント → Linux サーバ)

# 注意
Linux の細かい操作方法やインストール方法は説明していません。

# サーバ側
## git のインストール
“`bash
# yum install git
“`

## リモートリポジトリの作成
“`bash
$ cd /home/user/
$ mkdir ~/git_repo.git
$ git init –bare –share
“`

# クライアント側(windows)
## git のインストール
windows の git を以下の URL からダウンロードします。
https://gitforwindows.org/
インストール方法はここでは説明しませんが、全て「はい(YES)」で良いかと思います。
## リモートリポジトリの追加
コマンドプロンプトを開き以下を実行します。
「git config –global –edit」では適宜名前と E メールアドレスを設定する。
“`
C:\USER\USER>cd /Documents/<使いたいフォルダ>
C:\USER\USER>git init
C:\USER\USER>git c

元記事を表示

アプリ(iOS)のブランチ運用を考え直してみた (Webとの比較も)

## はじめに

iOSも少しずつ担当するようになったバックエンドエンジニアの Takeya です。
今のところ、環境周りのコミットをしたりして微力ながら改善に取り組んでます。

今回新メンバーも増えてGitのブランチ運用がよくわからない、わかりづらいという話になったので、iOSチームで再考してみました。
([SPORTS BULL](https://sportsbull.jp/) のiOSリポジトリの話になります)

## メジャーなGit運用フロー

そもそもGitの運用フローにはメジャーなフローがあります。以下の説明がよくまとまってます。
– git-flow
– GitHub Flow

https://atmarkit.itmedia.co.jp/ait/articles/1708/01/news015.html

特徴をざっくり書きます。

### [git-flow](https://danielkummer.github.io/git-flow-cheatsheet/index.ja_JP.html)

https://danielkummer.github.io/gi

元記事を表示

1週間で習ったことの復習(docker,linux,vim,git正規表現,sql)

# はじめに
直近1週間で習ったことをOutputします

# Dockerに関して
## Dockerとは
> Dockerは、アプリケーションを開発、出荷、実行するためのオープンプラットフォームです。

>Dockerを使用すると、開発者は、アプリケーションとサービスを提供するローカルコンテナーを使用して、標準化された環境で作業できるようになり、開発ライフサイクルが合理化されます。

参考:https://docs.docker.com/get-started/overview/

つまり、windowsやLinuxでも同じように開発環境を構築することができるので、環境によっておこる問題を少なくすることができます。

## Dockerを勉強するために行ったこと

1. [DotInstall_Docker入門](https://dotinstall.com/lessons/basic_docker)
1. [独学エンジニア](https://dokugaku-engineer.com/course/serverside)
1. [公式ドキュメント](https://docs.d

元記事を表示

gitコマンドで覚えておくと便利なもの

# 初めに
今回は、初心者応援プログラム時に投稿することができなかったものの、今後絶対に覚えておいて損はないgitコマンドを紹介していこうと思います。

### 作業効率が劇的に変わる3つのコマンド
下記が該当のコマンドになります
“`
git reset –hard HEAD^
“`
***1つ目***のこのコマンドをすることで直前の`commit`をまるっと削除することができ、`commit`したくないものや、大きな手戻りが発生しそうなときなどに使うと便利です。
また、`reset`したくないものを`reset`してしまったときは
“`
git reset –hard ORIG_HEAD
“`
上記のコマンドを実行すれば大丈夫です。
“`
git push -f origin プッシュしたいブランチ
“`
***二つ目***のこちらのコマンドは`push`自体は普段から使ってるものだとは思いますが、fourceオプションを追加することで強制的に`push`することができます。
`rebase`したのに`push`ができない時などに試してみるといいかもしれません。
`

元記事を表示

【CircleCI】Herokuデプロイ時の認証エラー(fatal: Authentication failed for ‘https://git.heroku.com/****.git/’)

# 0. はじめに
大阪のLaravel初学者サウナーこと、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
CircleCIでHeroku自動デプロイ時に認証エラーが発生しました。

## 0-1. 全体の流れ
> [1.試したこと](#1-試したこと)
> [2.エラーメッセージ](#2-エラーメッセージ)
> [3.解決方法](#3-解決方法)
> [補足](#補足)
> [Reference](#reference)

## 0-2. 本記事の対象者
– `git push –all`(自動デプロイ)、`git push heroku master`(手動デプロイ)などで認証エラー

## 0-3. 事前準備
– HerokuでCircleCI自動デプロイ設定済み

https://qiita.com/kazumakishimoto/items/6aac32725ebea25acf35

# 1. 試したこと
– `git push –all`(自動デプロイ)
“`terminal:loca

元記事を表示

git管理から除外したいファイルの設定方法

## 背景
・機械学習では、trainやtestデータは巨大なデータかつ変更などないことが多いのでgit管理から除外したいというニーズがある。

## git管理から除外したいファイルの設定方法
■結論
「.gitignore」ファイルを使用する。

■「.gitignore」ファイルとは
・git君に「このファイルに記載されているファイルはgit君管理しなくていいよ。」っていうことを記載したファイル

■使い方
・git管理をしているフォルダに「.gitignore」というファイルを作る。
・「.gitignore」ファイルにgit管理に入れなくて良いファイル名を記載しておく(下記例)
“`!:とあるフォルダ
.
├─ .git     
├─ .gitignore     
├─ train.csv #学習データなのでgit管理から除外したい
├─ test.csv            #テストデータなのでgit管理から除外したい
└─ machine-learning.ipynb
“`
“`!:.gitignore
train.csv
test.cs

元記事を表示

プルリク LEGO のすすめ

# はじめに
我々のチームは、プルリクが完了する度に 1 工程ずつレゴブロックを組み立てていく取り組みをしています!つい先日、GTR を組み立てることができました!

![プルリクLEGO.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309633/35719ca3-2c69-587d-0fa5-39209f8689f7.jpeg)

# レビュワーの負担を減らすために巨大なプルリクを出さない
レビュワーの負担を減らす取り組みで、プルリクに視点を置いてみました。
コミットだけでなく、プルリクもそれなりに分けて出していこう!ということです。

どのくらいの単位でプルリクを出していくかは難しい問題ですが、今回の記事は前向きな気持ちでプルリクをたくさん出せるようにするやり方のすすめになります。

プルリク LEGO はプルリクが完了する度に 1 工程ずつレゴブロックを組み立てていくので、たくさんプルリクを完了させたい衝動にかられます!必然的にプルリクをたくさん出したくなるのです!
また、プルリクを出して満足し

元記事を表示

GitのコミットメッセージにPrefixをつけよう!

雰囲気で書いていたコミットメッセージのプレフィックス。

人によって色んな種類のプレフィックスがあり、個人的に「結局どれが良いんじゃ」と思ったのでまとめました。

## そもそもPrefixとは
Prefixとは接頭辞で、コミットメッセージの先頭に特定の文字をつけることです。

“`
feat : 〇〇の機能を追加
refactor : 〇〇の機能をリファクタ
fix : 〇〇で起きていたバグを修正
“`
feat, refactor, fixなどがプレフィックスです。

## なぜPrefixをつけると良いのか
プレフィックスがつくことにより、以下のメリットがあります
– レビューワーが何に対する変更なのか見やすくなる
– コミットをプレフィックスレベルで分けるようになるので、コミットの粒度が適切になる
– コミットログが検索しやすくなる

## よく使うPrefix一覧
色々な方の記事を参考にさせていただいたのですが、[Angular.js/DEVELOPERS.md](https://github.com/angular/angular.js/blob/master/DEVE

元記事を表示

OTHERカテゴリの最新記事