今さら聞けないGit 2021年02月24日

今さら聞けないGit 2021年02月24日

そろそろSourcetreeから卒業したい1年目

# 概要
入社して約1年、git操作にはSourcetreeを使っていましたが、そろそろ卒業したいと考えていました。
これまで業務で使うことのあったgit操作に対応するコマンドをまとめてみました。
いろいろと調べた結果、筆者的CLIでgit操作できるメリットは下記4点です。

– 慣れるとGUIより操作が速くなるらしい
– 特定のGUIの操作方法を覚える必要がない
– 最新verのgit機能を使うことができる
– **とりあえずかっこいいい**

## 環境
– git version 2.27.0.windows.1
– Rev. P4Merge/NTX64/2021.1/2085655

# コマンド
下記以外にも重要なコマンドはいくつもあるかと思いますが、今回は筆者がこれまで業務で使うことがあった範囲に限って書いていきます。(rebaseとか使わなかった。)

## コミット
“`
git commit -m “コミットメッセージ”
“`
## プッシュ
“`
git push origin ブランチ名
“`
## プル
“`
git pull origin ブラ

元記事を表示

Git ローカルリポジトリを作ったらやること

# 目的

– Gitのローカルリポジトリを作ったらやることをメモ的にまとめる

# 情報

– 筆者はHomeBrewを用いてMacにGitをインストールしてある。

# 前提

– `$ git init`コマンドはすでに実行してあり、カレントディレクトリに「.git」ディレクトリが存在することとする。
– 実行するコマンドは特筆しない限り前のコマンドと同じディレクトリで実行するものとする。

# やること

1. ユーザー名の設定
1. 「.git」ディレクトリが存在するディレクトリで下記コマンドを実行してユーザー名を設定する。

“`terminal
$ git config –local user.name “ユーザー名”
“`

1. 下記コマンドを実行してユーザー名が正しく設定されていることを確認する。

“`terminal
$ git config -l
“`

1. 下記のように出力されれば無事に設定できている。

“`

元記事を表示

CodeCommit(git)でpushを取り消す方法

# はじめに
タイトルの通りです。忘れがちなので自分用のメモです。
# やること

CodeCommitの画面でコミットを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/685335/2bb1dca0-589f-e2ba-b11a-4dded86e5335.png)

ブランチを選択して**戻りたいコミット**のIDをコピーします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/685335/3203dcd9-2f4d-b52b-ef95-e351cda45d72.png)

あとは以下のコマンドを実行します。

“`
git push -f origin <コピーしたコミットのID>:branch名
“`

CodeCommitを確認すると、指定したコミットまでさかのぼっていることがわかります。
“`revert“`コマンドとかを使うと、情報を残せるらしいです。

元記事を表示

Bitbucket CloudとSlackを連携する

以前よりBitbucketのcommitやプルリクエストをはじめとして、さまざまな変更をSlackの指定チャンネルに通知する機能は存在していました。[ほかの方の書かれている記事](https://qiita.com/katsumata_ryo/items/f5f0a62e4a0e85627ad5)などを参考に設定を行おうとしたのですが、そもそも該当するアプリケーションが存在しなかったため[Bitbucket Cloud](https://rooter.slack.com/apps/A8W8QLZD1-bitbucket-cloud)を用いてSlackへの通知設定を行った際の手順を記しておきたいと思います。

## 導入

[slack app directory](https://rooter.slack.com/apps)より検索して取得してもよいのですが、単一のリポジトリに通知設定をしたいだけであれば以下の方法のほうが直感的でした。

まず、Slackへの通知を行いたいBitbucketリポジトリを開き、サイドバーの最下部にあるSettingsを選択します。遷移したサイドバーを再び

元記事を表示

SourceTreeでのコンフリクト・その他エラー対処

##コンフリクト

###方法1:競合したファイル(三角の注意マークが出てるやつ)をエディタで開く
他のソースを見ながら判断したい時など。

“`
<<<<<<<<<<>>>>>>>>>>
“`
どちらの変更をマージするか選んで(両方取り込むことも可)、再度SourceTreeを開く。
`全てをインデックスに追加`を押してコミットし、プル・プッシュする。

###方法2:SourceTree上で解決する

競合したファイルを右クリックして、`競合を解決`からどちらかを選択。
`自分の変更`か`相手の変更`を選んで解決する。

##プッシュ時のエラー

複数のコミット対象がある中から、一つだけプッシュしたい時もあります。
しかしやりかけのコミットがある(なおかつプル対象がある)とうまくプッシュできないことが。

###スタッシュを使う

プッシュしない他のコミット対象は、スタッシュを使って退避させる。

上部メニューバーから`スタッシュ`を押して、何か適当な名前をつける。このようにスタッシュ

元記事を表示

Railsのバージョン管理におけるGitの基礎についてまとめてみました

業務レベルでRailsの開発するにあたって、バージョン管理ツールGit及ブランチに対する考え方GitFlowの基本について、学習してみましたので、メモとしてここに残しておきます。

#Gitの歴史
もともと、linuxのカーネルの開発のバージョン管理ツールが途中でライセンスが必要となったため、
該当する無償ツールがなかったため、linuxの開発メンバーがバージョン管理ツールを開発したとの経緯

##Githubとは
PCなどでローカルで管理したリポジトリをオンラインで管理できるサービス

#Git操作の流れ
ワークツリー:作業場のこと
ステージ:コミット前の準備場所
 →作業場の修正を全部コミットするのではなく、準備完了分のみコミットケースもあるj
  一度準備完了のものをステージに追加して、それをリポジトリにコミットして、スナップショットを作成する
リポジトリ:スナップショットの保管場所のこと
コミット:変更内容をスナップショットとして記録すること
スナップショット:いつ、誰、何の修正をして、修正したファイルをどこにあるのかと一連の情報を記録したものgitというと、圧縮ファイル、ツリ

元記事を表示

git@github.com: Permission denied (publickey). の解決方法

git pushしようとしたら以下のエラーが発生しました
## エラーメッセージ

“`
$ git push
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

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

// ssh接続できるか試してみる
$ ssh -T git@github.com
git@github.com: Permission denied (publickey).
“`

## 解決方法

`ssh-add`コマンドで状況を確認してみます

“`
$ ssh-add -l
The agent has no identities.
“`
エージェントにIDが登録されていないようです。
今回はこれが原因なのでIDを登録します。

“`
$ ssh-add ~/.ssh/id_25519
Identity add

元記事を表示

re: こんなコードは嫌だ、古い書き方のコード駆逐したい

伏線回収です。

## TL;DR

元記事を表示

やられなくてもGitは学べる(前編)

# 初めに

Gitの初心者は言われたことがあると思いますが、「Gitはやられながら学ぶもの」と言われてますけど、必ずそうではないこと、証明して見せたいと思います。

## 概要

社内で企画者やデザイナーなどまだGitに慣れていないメンバーがGitを使える機会が多くなってきましたが、何より「Gitへの恐怖感」が大きいところ、それをまずなんとか乗り越えてもらえたかったです。
それに、ターミナルにも慣れてもらえようにしました。

この記事では、簡単なコマンドはもちろん、よく遭遇するトラブル、その解決策と、予防方法まで軽く触っていきたいと思います。

## 背景知識

### Git?

Gitとは、バージョン管理ツールです。チーム開発など複数人で開発を進める際に便利に使えます。

簡単に言えば、個人(ローカル)の作業結果を遠隔(リモート)に貯めておくことになります。

特にチームで運用する場合は、作業の効率向上、不具合防止のため、運用ルールを決めている場合が多いです。

Git意外にも、SVNなど色々あります。

### GitHub? GitLab?

両方とも、Gitのレポジトリーを

元記事を表示

Commitizenとcz-emojiの設定を晒す

## 経緯

これまで[Emoji Prefix](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages)な文化で育ってきたけど、
共同開発をしているとルールがブレるのが気になったので、[Commitizen](https://github.com/commitizen/cz-cli)に乗り換えることにした。
とは言え、絵文字の可愛さは捨てがたいのでAdaptorには[cz-emoji](https://github.com/ngryman/cz-emoji)を使う。
ところが、cz-emojiを使うと[ConventionalなCommit Message](https://www.conventionalcommits.org/ja/v1.0.0/)ではなくなるので、cz-emojiを使いつつConventional Commitsになるようカスタマイズすることにした。

## インストール

自分の場合はOSの環境構築用スクリプトがあるので、とりあえず `Commitizen` と

元記事を表示

開発未経験が書く ドットインストール「git入門」まとめ

この記事について

この記事は、開発未経験の人間がインプットした内容が書かれています。

実際に開発経験を積まないと身につかない、かといって疎かにしたら後々痛い目にあう、といったジレンマを少しでも解消するために、「頭の中を言語化し、解釈違いを指摘してもらう」という目的で投稿します。

気になる点がありましたらツッコミをいただけると嬉しいです。

記事の内容

ドットインストール「git入門」のまとめ

インプット教材

ドットインストール「git入門」: https://dotinstall.com/lessons/basic_git

開発環境

“`
git version 2.21.0
“`

gitとは

gitは開発しているもののバージョン管理を簡単にできるツールのこと。

作業ディレクトリで開発し、ステージングエリアへ一旦保存し、問題がなければリポジトリに入れる。

リポジトリにはローカル、リモートで分けられ、

元記事を表示

gitを用いた変更の確認と変更を戻す方法

## 0. はじめに – 自己紹介

Qiita初投稿です。初学者エンジニアのあいくと申します。よろしくお願いします

2020年の10月からプログラミングの学習を開始し、その過程で得た知見をQiitaに少しずつアップしていこうと思います。自分にとっては備忘録ですが、どなたかの役に立てれば幸いだと思っています。
至らぬところ多く、何か間違いなどございましたらご教授頂きたく思います。

## 1. 本記事の目的

gitを用いたバージョン管理における、変更を戻す方法と変更を確認する方法を記します。
gitを味方につけると、失敗した際に回復できるようになります。これは、開発中の心理的不安を大きく取り除いてくれ、結果的な効率化に繋がると思います。

## 2. 変更を確認する

### 「現在の変更状況」を確認する

“`ruby

# 現状の編集状況を確認するコマンド
git status
“`

### 「何を変更したか」を確認する

“`ruby

# 現状と最新のcommitとの編集内容の差分を表示
git diff
# 過去のcommit間における編集内容の差分を表示
gi

元記事を表示

【駆け出しエンジニアメモGit解説②】リモートリポジトリとローカルリポジトリの関係性を簡単に図にしてみた。

# 前回の内容
前回はGitとGitHubの違いについて書きました。Gitはバージョン管理ツールであり、GitHubはGitを利用した、開発者を支援するWebサービスでした。
前回の内容は[こちら](https://qiita.com/ShigeShigeQiita/items/958e7e3a266bd1097476)から。

# リモートリポジトリとは?
リモートリポジトリとは、リモート上にあるリポジトリのことで、いわゆるGitHubで管理されているリポジトリのことを言います。こちらも、リポジトリですので、木の枝のように枝分かれしているイメージを持つと分かりやすいです。雲の上にあり、ネットに繋がっているリポジトリですね。ネットに繋がっているので、許可されていれば他の共同開発者も一緒にその枝をい削除したり、追加したりすることができます!

# ローカルリポジトリとは?
ローカルリポジトリとは、リモートとは逆で自分のPC上にあるリポジトリの事です。こちらはネットに繋がってはいないので、他の人が枝を追加したり、削除したりすることはできないです。ただし、ネットに繋がっていないと言いましたが

元記事を表示

Gitをちゃんと使う 1人pullリクエスト開発

# pullリクエストベースの開発をしてみたい
人様に見せるコード(開発履歴付き)として考えると、リポジトリのネットワーク図が横棒一本線でmainが伸び続けるというのも格好が悪い。
ちゃんと機能開発ごとに枝ワケして、mainに帰ってくる、マングローブみたいな開発をしたいなということで。

## pullリクエストと承認・マージ
軽くググってみてみると、以下のような手順が紹介されています。

1. 機能追加を行う対象とする、既存のリポジトリ(開発者アカウント配下のリポジトリ)をフォークする。
2. フォークして、自分アカウント管理配下にもってきたリポジトリに対して、開発用branchを作る
3. branch上で開発して、自分のリポジトリにpushする
4. 自分のリポジトリから、開発者に対してpullリクエストを発行する
5. 開発者が、開発者リポジトリからリクエストの内容を確認し、マージする

1人開発だと、フォークが必須となるというのがちょっと違和感があり。
(一応、prodとstgの2アカを用意してあるので、そのような運用も全然出来はするのだけど)

また、このリクエストと承認管

元記事を表示

Gitをちゃんと使う add, clone, push(ちょっとだけ)

#きちんとGitを使ってみる
これまでちょこちょことGitは使っていたけれど、せいぜい「Webストレージ」くらいの意識で使っていたというのが本音で、mainブランチに変更を上乗せしてpushする、、という使い方しかしてきませんでした。
人様に見せるつもりのレポジトリでそれを続けるのはさすがに恥ずかしいですし、、、ここらでちゃんとbranchを使い分けて、pullリクエストベースの管理を始めてみたいと思います。
その手始めに、これまで思考停止して打ち込んでたgitコマンドについて意味の再確認をしてみます。

#改めて。gitに関する用語と考え方。
https://docs.github.com/ja/github/getting-started-with-github/github-glossary#repository

## リポジトリとレポジトリ
タイプするときの”re”positoryに引っ張られてレポジトリと読んでいたのですが、ちゃんと発音にあわすとリポジトリですね。。
座学だけでやってるとこういうのが多くなるので、注意しないとな。。

## リポジトリとブランチ
樹形図上に連

元記事を表示

【やらかし記事】Githubにデータベース情報を公開してしまった…

# 背景
・PHP/MySQLを学習し終え、簡単なアプリ開発をしたので、Herokuにデプロイしました。(これが人生初デプロイでした。)
・ポートフォリオの説明用にQiita記事(※)を投稿し、そこにGithubのURLを張り付けていました。
※書いたQiita記事は[こちら] (https://qiita.com/TkTkTkTkTako/items/d32fd686ce5335101e2a)です。

# きっかけ
投稿した[Qiita記事](https://qiita.com/TkTkTkTkTako/items/d32fd686ce5335101e2a)に以下の内容のコメントをいただきました。
>コメント
「すぐにデータベース情報を消して!Herokuなら環境変数も使えるよ!」

※要点を絞って記載しております。元コメントは抜粋しておりません。

しかし、
>自分
「データベース情報を消す理由は?環境変数とは??そもそもデータベース情報を記事に記載していないはず…」

と「?」しか浮かびませんでした。

※ここでいうデータベース情報とは以下の“heroku config“の結

元記事を表示

git コマンド

railsチュートリアル の学習で git につまったのでメモ。

#### 1. git config で設定

インストールした Git を使う前に、最初に 1 回だけ設定を行う必要があり。
これは system セットアップと呼ばれ、コンピュータ 1 台につき 1 回だけ行う。

“`powershell
git config –global user.name “名前を入力”
git config –global user.email ここにメールアドレスを入力@users.github.com
“`

#### 2. git init でセットアップ

まずアプリケーションの**ルートディレクトリに移動してから**、新しいリポジトリの初期化を行う。

“`powershell
git init
“`

#### 3. 全てステージング

ステージング (Staging) という一種の待機用リポジトリに置かれ、コミットを待つ。安全のため、いきなりコミットしないようになっている。ステージングの状態を知るには `git status` コマンド。

“`powersh

元記事を表示

ケース毎によく使うGitコマンド【初学者向け】

##はじめに
実務に入ってからずっとSourceTreeでgitを操作してたので、CLIでの操作はてんで駄目。。。
(Git CLI弱者とでも言うんでしょうかw)

そんな僕がプロジェクトが変わったことにより、CLIで操作するしかなくなったので、よく使う基本的なコマンドをケース毎にリスト化しました。
もっと便利なのあるよ!こうしろよ!っていうのがあったらコメントで教えてください!!!

##1.プロジェクトをGit管理したい時

**ローカルリポジトリを作成する**

“`
git init
“`

個人開発で新しくアプリ作るって時に使うと思います。

##2.リモートにあるリポジトリをローカルに取り込みたい時

**リモートからクローンする**

“`
git clone https://github.com/xxx.git
“`

既にリモートにあるプロジェクトを開発するよ〜って時に使います。
URLは、Githubだと下記の部分になります。

![スクリーンショット 2021-02-15 15.15.56.png](https://qiita-image-store.s

元記事を表示

Gitコマンドメモ

GitHubの使いかじめメモ
前提として、Githubでリモートリポジトリを作成している状態である
ローカルリポジトリ作成、及びリモートへのpushまでの作業メモ

#Gitを使うためのファーストステップ
Terminalを起動して下記のコマンドを打ち込んでいく
##git init
まずは自分の作業領域を作成っして下記コマンドを入力
(とりあえずデスクトップにフォルダを作ってそこを開発領域とする)

“`
mkdir ~/Desktop/[好きなフォルダ名]
cd ~/Desktop/[好きなフォルダ名]
git init
“`
これで[.git]ファイルが生成される

##git add
作業領域の変更をgitインデックスに登録する

“`
git add . (現在の領域全ての変更をインデックスに格納)
“`

##git commit
addでインデックスに登録した変更内容をローカルリポジトリに登録する

“`
git

元記事を表示

git push -u origin mainでpushされずerrorになる

rails tutorialのversion 6.0の1章でgitの扱い方を学びながら進めていたがgit push -u origin mainをしたら下記のようなエラーに遭遇した

#terminal

“`
error: src refspec main does not match any
error: failed to push some refs to ‘自分のgithubアカウント’
“`

#原因
2020/10月からgithubはレポジトリ名をmasterからmainに変更したためmainでpushしてもレポジトリ名が違うためerrorになるとのこと

次のようにgit branchで調べるとその通りだった

“`
% git branch
* master
“`

ので次のようにブランチを変えて解決

“`
% git branch -M main
% git branch
* main
“`

まだまだ初学者なのだと実感させられる

#参考になったURL
https://deepblue-ts.co.jp/tips/git-push-error/

元記事を表示

OTHERカテゴリの最新記事