今さら聞けないGit 

今さら聞けないGit 

git 自分用備忘録

# はじめに
毎日バリバリコードを書いていないのでたまにGithubやgit使うと忘れている。自分用の都度更新予定のunstableな記事。

# add
ローカルディレクトリ=>ステージングエリア

# commit
ステージングエリア=>ローカルリポジトリ

# push
ローカルリポジトリ=>リモートリポジトリ

# fetch
リモートリポジトリ=>ローカルリポジトリ

# merge
ローカルリポジトリ=>ローカルディレクトリ

# 実践
ローカルユーザーでリモートリポジトリ”practice”は作成済のものとする(パブリック権限)

##### リモートリポジトリからローカルにリポジトリをクローン
“`
git clone https://github.com/USER/practice
“`

# configに関して
::: note info config確認
configには3種の設定ファイルがある
:::

##### 全てのconfigの項目表示
“`
git config -l
“`
##### システム全体(全ユーザーの全リポジトリ)

元記事を表示

GitHub Actions Hadolint でDockerfileを静的解析する

## 概要

Hadolint(Haskell Dockerfile Linter)
https://github.com/hadolint/hadolint

HadolintはHaskellで実装されているDockerfileのLinterツールです。
ベストプラクティスなDockerイメージの構築を手伝ってくれる便利なツールです。

## Gitシリーズ記事まとめ

https://qiita.com/ucan-lab/items/33c63a402f533aa92f3e

## 利用するアクション

https://github.com/hadolint/hadolint-action

Hadolintのアクションが用意されているのでこちらを使います。

## 実装

– `.github/workflows/hadolint-testing.yaml`

“`yaml:.github/workflows/hadolint-testing.yaml
name: Hadolint Testing
on:
pull_request:
types: [synchron

元記事を表示

Gitコマンド | 備忘録

# はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事を書きました!
最終的には自在に開発できるようになりたいと思っています。:triumph:
いろいろな記事を参考にさせてもらっています。:bow_tone2:

# 今回の目的
Gitのコマンドで使いそうなものを一通り見返せるものを残して振り返りたい。

# 主に参考にさせていただいた記事
gitの仕組みや理解しやすい解説がありお勧めです。

https://www.udemy.com/share/101WYW3@Z5bLnKp8E2x9Cx3N5Ftq3pOvJP3odRloXSuFZF-55-vzqhwfsPpuH7AWvAF17j-T/

# 一覧
#### git init
ローカルリポジトリ(.git)の作成
#### git clone
リモートリポジトリのコピー取り込み
#### git add
ステージング
git add .で全てステージング
#### git commit
①コミット
git comm

元記事を表示

Gitのインストール(Windows)

# GitをWindowsにインストールしよう!

Gitを使い始めたいけど、どうやってインストールするの?って思っているあなたにピッタリのガイドです。WindowsでのGitのセットアップ方法をサクッと説明しますね。

## WindowsでGitをインストールする方法

WindowsにGitを入れるのはとっても簡単。以下のステップに従ってください。

1. まずは[Git for Windows](https://gitforwindows.org/)にアクセスしましょう。
2. 画面にある「Download」ボタンをクリックして、インストーラーをダウンロード。
3. ダウンロードしたインストーラーファイルを開いて、画面の指示にしたがってインストールを進めてください。

インストールが完了したら、Git Bash(これがあなたの新しいコマンドラインになります)とGit GUIが使えるようになります。なんだかプロっぽい感じがしてワクワクしますよね!

## インストールの確認

インストールがちゃんとできたか確認しましょう。Git Bashを開いて、以下のコマンドを打ってみてくださ

元記事を表示

【Unity】Git 初心者でもできる個人開発で Git 管理を行う簡単な方法

皆さんは個人開発でも GitHub を活用していますか?

Git が共同開発において
強力な武器になるのは言うまでもないですが
個人開発でバックアップを
効率的に取る方法として考えたとしても
非常に優れています。

Git でバックアップを取らない場合は
バックアップは非常に大変な作業になります。

例えば 100MB のプロジェクトがあったとして
6KB のファイルを編集したとします。
この時プロジェクト全体のバックアップを
再度取った場合は 100MB の容量が増えます。

編集したファイルだけバックアップを取るのは
古いファイルの管理が大変になります。

そこで是非とも皆さんには個人開発で
GitHub を使って頂きたいと思うのです。

…と言いたい所ですが
果たして本当に GitHub が必要でしょうか?
これから考えてみましょう。

***

GitHub は本当に必要か

結論から言います。
特に理由が無い場合は
個人開発のプロジェクトで Git を使う場合は
Git をローカルに保存すれば OK と思います。
GitHub を活用する必要はないと思います。

Sou

元記事を表示

はじめてのプルリク

先日Githubで人生初のプルリクをしました。Typoの修正です。
そしてそのプルリクを理解しながら実践した記録です。

## 別のブランチで作業する

新しくブランチを作ってそこで変更しました。Typoの修正です。

## まずGithubでforkする

GithubでForkしたリポジトリに変更をpushします。
こうするとプルリク先が出るようです。

## プルリクを出す前にマージしなくていい

プルリクはGitlabにおけるマージリクエストにあたるそうです。
すなわち、プルリクの本質は、「自分のブランチを相手のブランチにマージしてほしい」というお気持ち+理由を提出すること、と考えたほうがわかりやすいかもしれません。

## マージするときに(忘れずに)相手のブランチを選ぶ

注意しましょう、私は間違えちゃいました。以後気をつけます。

でも間違えたら直せばいいだけです。
後で直せるんです。
でも直したことはちゃんとみんなにバレます。

## プルリクで会話ができる

プルリクのConversationでは文字通り純粋にテキストベースの会話ができるだけでなく、会話に絵文字でい

元記事を表示

あるブランチで進めていた内容を、やっぱりmainブランチから新しく切って進めたい場合

ブランチbでコミットA,B,Cとしたあとに、やはりブランチaから新しくブランチcを切って、コミットA,Bの内容でコミットしたくなった場合の方法です

![スクリーンショット 2024-05-07 23.57.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3083286/8001e902-bcb4-cb1a-b236-cb1ffcb0c7a5.png)

ブランチaにチェックアウトしたあとに新しくブランチcを切ります
“`
git checkout a
git checkout -b feature-c
“`

git cherry-pickを用いてコミットA,Bの内容を取り組みます
“`
git cherry-pick Aのコミットid Bのコミットid
“`
あとはプッシュするだけです

仕事でこうすればよかったという備忘録で書いております、試していないので間違いがあればご指摘ください。

こちらの参考記事様がすべてです。
https://qiita.com/okmtz/items/6

元記事を表示

Git 基本操作(超初心者)

## 前置き

手ごたえを感じないまま社会人2年目になってしまった…
虚無の中出社する現状を打破しようと、**Qiita**に学習の成果を記録することにします。
まずはよくわからないまま使用している**Git**から始めます。

## Git について

Webサイトなどを作る際など、複数人での共同開発をスムーズに進めるためのシステム。

## Git の流れ

1. コードを変更する。
2. 共有する準備をする。
3. 共有する。

## 共有の仕組み

Gitではリモートまたはリモートリポジトリという共有のファイル保管場所を使用する。

個人がローカルリポジトリ内で編集したファイルを、リモートリポジトリにアップロードし、それをダウンロードすることで開発者同士がファイルを共有することができる。

## 基本操作

ターミナルを用いて操作する。

“`
$ git init
“`
「init」は「initialaize」の略であり、「初期化」を意味する。

共有するファイルを選択する。

“`
$ git add ファイル名
“`

選択したファイルを記録する。

“`

元記事を表示

gitlab schedule で自動 MR open や close

# はしがき

自分が働いている会社の project では修正することの merge は以下の手順で行っています。
1. 修正のことをプログラマーお互いに MR を実行
1. MR 後、merge 向け branch に merge する
1. merge 向け branch を master に merge する

リリース向けの branch を感違えないように日付をしています。

しかし、gitlab ウェブから、毎日 merge 向けの branch を作ること、また、作っても merge しないと、削除することもあるので、手間がかかります。

そのために、毎日生成や削除する gitlab の pipeline を作ります。

# CICD とは?

https://en.wikipedia.org/wiki/CI/CD

https://www.redhat.com/en/topics/devops/what-is-ci-cd?cicd=32h281b

Red Hat には以下に紹介されています。

“`
CI/CD (継続的インテグレーションおよび継続的デリバリー/デ

元記事を表示

pycordで作成したdiscord botのトークンをenvファイルに保存して、githubにpushしよう

# はじめに
前回の記事で[pycordを使ったdiscord botの作成記事](https://qiita.com/maooz4426/items/2c39929756af5541648f)を書いたのですが、discordbotのアカウントトークンを直書きしていました。
これをGitでpushすると、、、

“`
git push origin main
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.02 KiB | 1.02 MiB/s, done.
Total 6 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local

元記事を表示

GitHubでFork元がPrivateのリポジトリを移行しようとしたら手続きが割と多かった件について

## 1. 概要
株式会社システムアイRGA事業部の福島です。

今回、GitHubリポジトリの移行を実施することとなり、その作業担当として「移行作業は簡単に終わるだろう」と思っていましたが、色々と手続きが多く、ネットで出回っている情報が少なかったので、ここで困った点などを皆さんに共有できればと思い、この記事を書きました。

ただ、公開できない情報もありますので、色々と端折っている部分があります。

## 2. 要件
* リポジトリに紐づいているWikiやissue、設定もまとめて移行してほしい
* 本番環境に影響がないようにしてほしい

上記が今回の作業の要件となります。
ですので、一度、「Forkして〜〜」という方法を考えていましたが、色々と調査してGitHubの「Transfer」機能を使うことにしました。

https://docs.github.com/ja/repositories/creating-and-managing-repositories/transferring-a-repository

Transferの良いところは、移行するリポジトリに紐づくissueや

元記事を表示

【UiPath】UiPathプロジェクトをGitHubで管理してみよう!(1)_GitHub管理を始める

## はじめに

UiPathではGitHub(ギットハブ)を使用してプロジェクト管理を行うことができます。
初心者向けで簡単にまとまっている記事がなかったのでまとめてみました。

– **第1回 UiPathでGitHub管理を始める←今ココ**
– 第2回 GitHubでissueを立てて、ブランチを切る
– 第3回 GitHubでmergeする

どうしても横文字や英語が並ぶため苦しくなるかもしれませんが頑張ってついてきてください!

### この記事でわかる・できること

– GitHubを使うことで何ができるのかわかる
– GitHubのアカウントが作成できる
– UiPathのプロジェクトをGitHubで管理できるようになる

### この記事で触れないこと

– Git・GitHubの技術的な仕組み
– Gitコマンド

### この記事の対象者

– UiPath Studio 開発者
– GitHubとか差分管理はなんとなく聞いたことあるけどよくわからない…な人
– UiPath

元記事を表示

gitでの開発手順について

gitでの作業手順がいまいちわからなかったので、備忘録としてまとめようと思います。

# gitとは?
そもそもgitとは何か?というとこからですが、gitとは、ファイルの変更を記録して、いつでも元に戻せるシステムのことです。
詳しくは、調べればわかると思いますので、早速開発の流れに進みたいと思います。

# gitでの開発の流れ
1. **リモートリポジトリの作成**
githubのトップページから「Create repository」をクリックし、新しいリポジトリを作成します。

2. **リポジトリをプッシュ**
リモートリポジトリ(github)を準備したら、ローカルリポジトリ(自分のPC)に登録されている、手元のファイル群をサーバーへ転送します。gitでは、手元のデータや変更をリモートリポジトリに反映することを「プッシュ(Push:押し出す)」と言います。
`git push リモートリポジトリ名 ブランチ名`
作成したリモートリポジトリを、他の人も作業したい場合は、「クローン」することで、リモートリポジトリに参加することができます。クローンすることで、複数人でリモー

元記事を表示

Gitを雑に理解する

雑な認識なので正確でない内容を含みます

# GitHubとは
Gitの内容をオンラインで公開/共有できるwebアプリ

# Gitとは
ソースコードに対し「いつ」「誰が」「どの部分を」編集したか
いわゆるバージョン管理をするためのツール

利用者はエンジニアのみでなく、
文章を書く人や、会社によっては事務にも導入されているらしい

# 単語
### リポジトリ
データを保存しているフォルダのようなもの
バージョン管理などの意味合いが含まれる

ローカルリポジトリ -> 手元のパソコンのリポジトリ
リモートリポジトリ -> GitHub上のリポジトリ

### ブランチ
複数人で同じプロジェクトに関わる上で、全員が本体を編集すると
同じ箇所の編集であったり、間違えたときのバージョン巻き戻しなどが大変になる

なので、枝分かれさせた小さなバージョンを作り、それが問題なく動いたら本体に合流させる

### マージ
ブランチを合流させる動作のこと

# コマンド
sourcetreeなどgitをGUIで操作できるツールは色々あるので覚えなくてもいい

## git init
リモー

元記事を表示

Gitとは何か、なぜ開発プロセスで重要なのか

# 初心者向け:Gitの基本とその重要性

## はじめに
開発において、ソースコードの管理ってめちゃくちゃ大事。そこで登場するのがGit。この記事では、Gitって何? どうして学ぶべき? という疑問に答えていくよ。

### Gitって何?
Gitは、2005年に開発されたツールで、複数の人が同じプロジェクトでバッチリ協力できるようにするためのものだよ。コードの変更履歴をキッチリ管理してくれるんだ。

### Gitのイイところ
– **バージョン管理:** 変更履歴をしっかり保存して、必要なときには元に戻せる。
– **チームでの協力:** みんなで一緒にプロジェクトを進められる。
– **データの安全:** データが二重に保存されるから、失うリスクが少ない。

## なぜGitを学ぶべき?
小さなスタートアップから大企業まで、世界中のいろんな場所でGitは使われてるよ。オープンソースプロジェクトや個人プロジェクトにも役立つし、知っておくと新しいチャンスが広がるかも。

## Gitの基本的なワークフロー

Gitを使った基本的なワークフローを通じて、どのようにソースコードのバージ

元記事を表示

[git / vim] git コミットログに現れる “M^” を消去するため、改行コードを変更する

## 概要

– git diff したら、なんかすごいいっぱい`M^`が現れた
– どこかで誰かが、紛れ込ませたのだろう(恐らく自分だけど…)
– 全部消したい

## 対策

以下のようにして、消せる。

まず、バイナリファイルとして問題のファイルを開く。

“`bash:bash
vim -b <問題のファイル名>
“`

そうすると、 `M^` の存在を可視化することができる。

ファイルを開いた後は、 insert モードではなく、 Escape キーを押下して normal モードにした上で、

“`vim:vim
:%s/\r//g
“`

を実行すると、 `M^` が全部消えます。

これを保存するなり、 commit するなりすればよい!

## おまけ (記事化の経緯)

関連情報がまとまっている記事はいくつかあるが、情報量が多すぎて読むのに時間がかかったので、端的に必要な事項だけをまとめた。

## 参考資料

どちらも色々な関連情報がまとまっている。

https://www-creators.com/archives/2551#google_v

元記事を表示

main branch にコミットしてしまった時の対処法

新しいブランチを作成せずにコミットしてしまい慌ててしまったので備忘録

## 手順
① 新しいブランチを作成する
“`
git checkout -b foo
“`

② main branchに切り替える
“`
git checkout main
“`
③ コミットを取り消す

“`
git reset origin/main –hard
“`

## コマンド内容
– git checkout ブランチ名:ブランチを切り替える

– git checkout -b ブランチ名:-b はブランチを新規作成なので、ブランチを新規作成してブランチを切り替える

– git reset –hard:コミット内容すべてを取り消す

元記事を表示

GitのRevertを遊戯王で理解した

# 1.はじめに

gitのrevertを理解しようとしたらrevertしたcommitは残ったままだったり、revert後にマージするとコンフリクトを起こったりして意味が分からず理解に苦しんだ。さらに、revertをrevertしたくっても何が起こるのか分からず、結果 **「revert=使ってはいけない」** 認識が染み付いてしまった。
だが意味がわかるとgitでの可能性が広まると感じたので調べてみたところ、遊戯王カードのチェーンに落とし込んだら理解ができたのでまとめてみた。
※ただし私は遊戯王エアプ勢なので細かいところは違うところもあるのと雰囲気で理解しているので悪しからず。

# 2.そもそもrevertとは?
下記サイトにはこのように記載がある

https://www.atlassian.com/ja/git/tutorials/undoing-changes/git-revert

:::note info
git revert コマンドは作業を前進させながら変更を安全に元に戻すことができる操作です。コミット履歴でコミットを削除したり隔離したりするのではなく、新しいコミ

元記事を表示

GitHubでフォーク後のリポジトリで作業中、アップストリームの変更を随時取り込む技

# はじめに

GitHubで何かプロジェクトをフォークして、自リポジトリで修正した後、プルリクで本家プロジェクトにフィードバックする、というワークフローはよくある話だと思います。
よくある困ったこととして、フォーク元の更新が早いと、修正した内容が問題無いか確認が必要だったり、別途調整が必要など、色々と頭が痛い問題があります。
ここではエイリアスを駆使してフォーク元の更新に同期しつつ、修正を完遂したいユースケースについてメモを残しておきます。

# フォーク元の変更をフォーク先のリポジトリに同期する

フォーク元の変更をフォーク先のリポジトリに同期するするには下記のコマンドを実行する必要があります。

“`
gh repo sync フォーク先のリポジトリ名
“`

これでリモートリポジトリ(フォーク先のリポジトリ)を最新の状態に更新することができますが、当該リポジトリ(フォーク先のリポジトリ)の作業している時、リモートリポジトリというのは、ローカルリポジトリで作業している場合では自明です。
自明ですが、`gh` コマンドはローカルリポジトリとは無関係で稼動することが要求されるコマ

元記事を表示

【メモ】githubへのpushやfetchでSSHキーのPWを毎回聞かれるのを回避

あらかじめ、下記のコマンドなどで、SSHキーを作成しておく
“`sh
ssh-keygen -t rsa -b 4096 -C “任意のメールアドレス”
“`

以下を実行する
“`sh
# SSHエージェントを起動
eval “$(ssh-agent -s)”

# SSHエージェントにSSHキーを追加
ssh-add ~/.ssh/id_rsa
“`

SSHエージェントを自動起動する設定( `.zshrc`などに記載 )
“`sh
if [ -z “$SSH_AUTH_SOCK” ] ; then
eval `ssh-agent -s`
ssh-add
fi
“`

`.zshrc`に記載する場合
“`sh
vi ~/.zshrc

# `:qw`で抜けた後、更新内容を保存
source ~/.zshrc
“`

元記事を表示

OTHERカテゴリの最新記事