今さら聞けないGit 2023年02月08日

今さら聞けないGit 2023年02月08日

最近学んだGitコマンドオプション

# Gitコマンドオプション
最近学んだgitコマンドについてです。
チームで開発する上でGitは避けては通れません。
そんな中で、学んだGitの便利なオプションについて書いてみました。
### git fetch -p
リモートに存在しなくなったリモート追跡参照を削除します。
例えば、リモートリポジトリの __branch1__ が削除され
新たにbranch2が作成されていた場合には、
“`

git fetch -p

– [deleted] (none) -> origin/branch1
* [new branch] branch2 -> origin/branch2

“`

ローカルリポジトリの __origin/branch1__ が削除され
__branch2__ が新しいブランチとして作成されます。
### git merge –no-ff ブランチ名
__–no-ff__ とは __Non Fast-Forward__ の略です。
gitではmergeをした際にコミットをしない __fast-fo

元記事を表示

git configの設定

# はじめに

Railsなどを中心に勉強中のエンジニア初心者が他の記事を参考にしたり、実際に実装してみたりして、アウトプットの一環としてまとめたものです。
間違っていることもあると思われるので、その際は指摘いただけると幸いです。

# git configの設定

`git`の初期設定としてユーザー名と、メールアドレスを登録する必要がある。

この設定情報が`commit`や`merge`した際に誰が実行したかログとして残る。

### 実行コマンド

“`bash
# gitへ設定
git config –global user.name “ユーザー名”
git config –global user.email “メールアドレス”

# gitの設定を確認
git config –list
“`

### 実行結果

“`bash
% git config –global user.name “user_name”
% git config –global user.email “user_name@email.com”

% git config –list

元記事を表示

【Git】submoduleの追加と削除

## 追加

リポジトリにサブモジュールを追加するには次のコマンドを実行します。

“`terminal
git submodule add サブモジュールのリポジトリURL サブモジュールのディレクトリ
“`

“`
git submodule add https://github.com/user/sample-submodule.git sample/sample-submdules
“`

上記を実行した後に`.gitmodules`ファイルが作成され`sample/sample-submodules`の中に`https://github.com/user/sample-submodule.git`の内容がcloneされます。

## 削除

削除する際には次の手順を実行します。

“`terminal
$ git submodule
4a3a41a70aeeb503f56cf7ba486235b6fao28af2 sample/sample-submodules (4a3a41a)
$ git submodul

元記事を表示

VisualStudioでGitを使ってソースコードを管理する方法

# 1. はじめに
* VisualStudioでGitを使いたい
* Gitの基本的な操作(コミット、プッシュ、プル)以外で知らない操作方法を知りたい

# 2. Git for Windowsのインストール
* Visual Studioから[ツール] > [ツールと機能を取得]を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852081/1cec4c6a-95ff-3881-a369-c5d2c6ff9e69.png)
* 個別のコンポーネントのGit for Windowsをチェックして、変更ボタンをクリックする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852081/aeceeb38-c97a-a588-537b-69364293a46a.png)

# 3. Gitリポジトリの作成(ローカル)
* Visual Studioから[Git] > [Gitリポジト

元記事を表示

CodeCommitのリポジトリ作成

# 事前準備

1. HTTPS Git 認証情報の生成
– [AWS CodeCommit の HTTPS Git 認証情報を生成](https://qiita.com/ryome/items/066d2deea3e6fbe577ad)
2. Linuxコマンドが使用できる環境構築
– [wsl2にUbuntu環境を構築する【windows】](https://qiita.com/ryome/items/240f36923f5cb989da27)
– ※ MacOSの方はターミナルからLinuxコマンドが使用できます。

# CodeCommitリポジトリ作成

1.`CodeCommit` を検索する。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/e058b03d-5ed1-cefe-d061-e48b19ab3507.png)

2.`リポジトリを作成` を押下する。

![02.png](https://qiita-image-store.s3

元記事を表示

macOSアップデート後に出るgitのエラー

# はじめに

Railsなどを中心に勉強中のエンジニア初心者が他の記事を参考にしたり、実際に実装してみたりして、アウトプットの一環としてまとめたものです。
間違っていることもあると思われるので、その際は指摘いただけると幸いです。

# ****`xcrun: error: invalid active developer path`****

`macOS`をアップデートした後に`git`コマンドを実行すると、下記のエラーが出ることがあるらしい。

(実際に自分もエラーが出た)

“`bash
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
“`

# 解決方法

`Xcode Command Line Tool`のインストールすれば解決する。

“`bash
xcode-select –install
“`

# 参考

元記事を表示

リモートリポジトリを表現する「origin」について

# はじめに

Railsなどを中心に勉強中のエンジニア初心者が他の記事を参考にしたり、実際に実装してみたりして、アウトプットの一環としてまとめたものです。
間違っていることもあると思われるので、その際は指摘いただけると幸いです。

# `git push origin master`

リモートリポジトリの`master`ブランチに`push`している。(`origin`がリモートリポジトリを指し示している)

# `git remote -v`

`push` / `fetch`する際のリモートリポジトリのURLを確認することができる(`git`コマンド上で使う`origin`はこのURLを便宜的に表しているだけである)。

`git push origin master`は`origin`(リモートリポジトリのURL)にローカル環境の`master`ブランチを`push`している

# VScode上の`origin/master`という表記について

ローカル(VScode上など)でリモートリポジトリのブランチを表現するときの表記。`origin/master`はリモートリポジ

元記事を表示

基本的なgitコマンド

# はじめに

Railsなどを中心に勉強中のエンジニア初心者が他の記事を参考にしたり、実際に実装してみたりして、アウトプットの一環としてまとめたものです。
間違っていることもあると思われるので、その際は指摘いただけると幸いです。

# `git init`

ローカルリポジトリが作成される(`.git`ディレクトリが作成される)。

“`bash
$ git init

>
・リポジトリ
・圧縮ファイル
・ツリーファイル
・コミットファイル
・インデックスファイル
・設定ファイル
“`

# `git config`

`git`にユーザー情報を登録する。誰がコミットしたかなどの履歴に残る。

“`bash
$ git config –global user.name “ユーザー名”
$ git config –global user.email “メールアドレス”

$ git config –list
>
credential.helper=osxkeychain
init.defaultbranch=main
user.name=ユーザー名

元記事を表示

【Git】upstreamに向けて出してある他の人のPRを自分のローカルでcheckoutする方法

他の人が出したPRを自分のローカルに持ってきてcheckoutして確認する方法。
“`
$ git fetch upstream pull/{プルリクエストのID}/head:{ブランチ名}
“`
こんな感じ。
間違ってたら教えてください。

元記事を表示

Git flow の手順備忘録

# 本記事の目的
* Git flow でブランチ管理を簡略化しているものの,慣れないうちやしばらく触っていないと「どんな順番でコマンド叩いてたっけ…」となり,何度も調べ直すので,自分用に手順の備忘録を残す

# 前提
* `remotes/origin` は Github へ
* `master` ブランチ上では直接作業をしない
* 微修正は `develop` ブランチで作業
* 大きな修正は `feature` ブランチで作業
* いくつか並列しても OK
* リリースに際した調整は `release` ブランチで作業
* バージョン管理,メタデータ修正,他
* 直ちに修正すべき簡易バグは `hotfixes` ブランチで作業
* リリース作業は個人で行う(途中で `push/pull` しない)
(実際の IT 現場でどうしているのかは知見がありません…)

# 手っ取り早く結論
### `feature` ブランチの作成から `develop` ブランチへのマージまで

“`shell
## Ini

元記事を表示

gitのマルチアカウント運用の設定まとめ

# はじめに
gitのアカウントを複数使って切り替えながら作業している場合に
本来pushしたくなかったアカウントでpushしてしまって事故ってしまうことが~~ある。~~ ない。
そんな時のために、、、

マルチアカウント運用時の
– 事故の事前防止
– アカウント切り替えの設定
– 事故ってしまった時の対処
を備忘録的に残しておきます。

# ターミナルでのgitブランチ&ユーザ名表示
– ターミナルにブランチ名とユーザ情報を表示します。
![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641313/cd5ee2a6-6fc5-d6bc-3ba3-05a826bd007c.png)

ターミナルにブランチ名を表示する設定はよく記事で見かけますが、プラスしてユーザ情報もターミナル上に表示させることで、
今どのアカウントでgitを使っているのかがすぐわかるようになり事故を未然に防げる可能性が上がります。

## 手順

`~/.bashrc`の中にコマンドを追加します。

“`bash

元記事を表示

VScode×Git×GitHub初期設定

## 備忘録
毎回調べていると時間がかかって仕方がないので
コマンドなどをシンプルに書きました。
## 前提
・Gitインストール&基本設定が完了済
・VScodeインストール済
## Gitローカルリポジトリ作成
“`ターミナル.ローカルリポジトリの初期化
git init
“`
→出力
Initialized empty Git repository…
## ローカルリポジトリにステージング
「index.html」などのファイルを作成。
・ソース管理>+ボタンを押す。
→メッセージ入れてコミット
## GitHubと連携
・GitHubリモートリポジトリを作成
##### リモートリポジトリ紐づけ
“`VScode.ターミナル
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
“`
“`VScode.ターミナル
git remote -v
“`
→出力
origin https://github.com/~~.git (fetch)
origin https://github.com/~~.gi

元記事を表示

GitHubの差分の出し方、完全に理解した。

## 概要

GitHubのプルリクで差分を見る時、意図しないものが出たり/出なかったり、挙動がよく分からなかった。
手元でコマンドで差分確認したかった。
出せるようになったので共有記事にしておく。

## ドキュメント

https://docs.github.com/ja/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests#three-dot-git-diff-comparison

>スリードット比較では、両方のブランチ (マージ ベース) の最新共通コミットとトピック ブランチの最新バージョンの差分が表示されます。

## コマンド

featureをmainに入れるプルリクの場合。

“`bash
base_commit=$(git merge-base feature main)
head_commit=$(git rev-parse feature

元記事を表示

メモ:Projen プロジェクトの projenrc を TypeScript に変更

以下の手順で実行。

## 1. Add projenrcTs: true to your project.
“`javascript
const project = new awscdk.AwsCdkConstructLibrary({
・・・
projenrcTs: true,
・・・
});
project.synth();
“`

## 2. Run npx projen.

“`shell
npx projen
“`

## 3. Rename .projenrc.js to .projenrc.ts.

“`shell
git mv .projenrc.js .projenrc.ts
“`

## 4. Update requires to imports.

“`typescript
const { awscdk, javascript } require(‘projen’);
“`
to
“`typescript
import { awscdk, javascript } from ‘projen’;
“`

## 5. Run npx

元記事を表示

間違えてpushしてしまってどうにもならない場合

# 間違えてpushしてしまってどうにもならない場合

1. git logコマンドを打つ
“`
$ git log
“`

以下のようにcommit id が表示される。
“`
commit 27f0f0abd17eb40bd0aca4d2d3ae46b413a1dXXX (HEAD -> develop, origin/develop)
Author: y.satou
Date: Mon Dec 12 17:32:14 2022 +0900

特集
“`
2. コミットIDを指定して revert する。

上記でいうと「27f0f0abd17eb40bd0aca4d2d3ae46b413a1dXXX 」
“`
$ git revert
“`

git が 打ち消し用のコミットを作成してくれるのでそれを コミット、pushする。

元記事を表示

GitとGithubについて初心者が学んだことと基本コマンドシート

# tl;dr
* GitとGithubは完全に別物(GUIがあることからGithubに目が行きがちだが、Gitの基本を学ぶのが良い)
* 学んだことは, Staging, Commit (Githubへのmerge), 機能を足していくときはどんどんbranchを作って分けていくようにします
* コードを書いて機能を追加していくときには、Branchをどんどん分けていく。そうしないと間違いが起こったときに戻りづらく、レビューもしづらい ex. feature-A, feature-B … etc.

## 基本的なコマンド
|COMMAND|ACTION|
|:—-|:—-|
|Shortcuts| |
|git init|gitを初期化|
|git status|各ファイルの状態などを確認|
|git add *|add FILENAME にてfileをstagingする|
|git commit|stagingしたファイルをコミットする。メッセージページを抜け出すのは Esc > :wq!|
|git commit -m “COMMENT”|メッセージページに入らずに

元記事を表示

ChatGPT にお願いして、PowerShell でGitからソースコードを取得してZip化&treeっぽいテキストファイルを作ってもらった

# 背景
Bat で同様のコードがあったが、Windows の文字コード関連のUpdateによって文字化けが発生してた。
修正しようと思ったら手こずったので・・

いっそ AI さんに最初から作ってもらおうって試した記録

# 会話の結果

“`powershell
# Create the directory “source”
New-Item -ItemType Directory -Path source

# Set the working directory to “source”
Set-Location source

# Clone the repository
git clone https://github.com/m-radzikowski/aws-sdk-client-mock.git

# Set the working directory to the repository directory
Set-Location aws-sdk-client-mock

# Get the Git hash
$gitHash = git rev-parse –s

元記事を表示

【Github】Fine-grained personal access tokensで開発者がpushするときのtoken取得手順とそのスコープ

Githubでhttpsで開発者がpushするときにtokenが必要ですが、そのtokenの種類に`Fine-grained personal access tokens`が追加され今までのはclassicになっていたので`Fine-grained personal access tokens`で開発者がpushするのに必要なtokenを作る手順です。

# token取得手順

– token生成ページ: https://github.com/settings/tokens?type=beta

から`Generate new token`を指定します。

![Generate new token](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86684/3a70047f-d200-6f0b-1bb5-2c8d7b115d2f.png)

TokenNameはどこで・何に使ってるのかわかるような名前を(後でとけんを消したりするときにわかるように)、Expirationは有効期限で最長で1年までのようです。

元記事を表示

git, githubのメモ

## 前提
– commit add push はしたことある
– それ以外は分からん奴のメモ

## ゴール
– プルリクエストとか
– イシューとか
– ブランチとかわかる

## サイトで遊んでみた

http://k.swd.cc/learnGitBranching-ja/

## 動画のメモ

### ローカル
– gitはmasterブランチ
– githubはmainブランチ

ブランチの作成
`git branch ○○(ブランチ名)`

ブランチの一覧表示
`git branch -a`

HEAD:自分が今いるブランチを指すポインター

ブランチの切り替え
`git switch ○○(ブランチ名)`

ブランチを新規作成して、そちらに切り替え
`git switch -c ○○(ブランチ名)`

ブランチのマージ
`git merge ○○(ブランチ名)`

github上にあるブランチをローカルでマージ
`git merge △△(リモート名)/○○(ブランチ名)`

コンフリクトの解消

元記事を表示

ローカルにVue CLIで作成したプロジェクトをGitのリモートリポジトリにプッシュする手順

# はじめに
いつもはGitHubでリポジトリを作成して、
クローンした後に、ローカルで初期のセットアップをして開発を進めていましたが
ローカルで作成したプロジェクトをGitHubにプッシュすることに挑戦してみました。

# プロジェクトを作成
1.下記のnpmコマンドを実行してVue CLIをインストールします
“`
npm install -g @vue/cli
“`
yarn派の方はこちら
“`
yarn global add @vue/cli
“`
下記より引用

https://cli.vuejs.org/guide/installation.html

インストールが終われば、Vue CLIがインストールされていることを確認します
“`
vue –version
>@vue/cli 5.0.8
“`

2.プロジェクトを作成します
“`
vue create sample-vue
“`
vue create (プロジェクト名)で雛形を作成してくれます

3.プリセットを選択するよう求められます。今回は「Default ([Vue 3] babel, esl

元記事を表示

OTHERカテゴリの最新記事