今さら聞けないGit 

今さら聞けないGit 

Git – 現在ブランチの状態をリモートの状態に強制リセットする .gitconfigのエイリアス設定

# 例

コマンドで言うと

“`
git fetch
git reset –hard origin/<現在チェックアウトしているブランチ>
“`

っていうことをやりたい

# .gitconfig

.gitconfigでエイリアス設定する

“`
[alias]
current = !git symbolic-ref –short HEAD
reset-current = !git fetch && git reset –hard origin/$(git current)
“`

# 実行

“`
git reset-current
“`

# チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

# Twitter

元記事を表示

git で新しいブランチを切って git push して Github に Draft PRを作成するまでが非常の面倒くさいので簡単なコマンドにする (gitconfigのエイリアス)

# .gitconfig

.gitconfigにエイリアス登録しておく

“`
[alias]
pr = “!sh -c ‘git checkout -b $1 && git commit –allow-empty -m $1 && git push’ -”
“`

実行

“`
git pr new-branch
“`

あとは標準出力のURLからGithubにアクセスしてPRを作成するだけ

“`
remote: Create a pull request for ‘xxx’ on GitHub by visiting:
remote: https://github.com/AAA/BBB/pull/new/new-branch
“`

# チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

# Twitter

元記事を表示

Delete directory with git command.

Use the URL below.

https://qiita.com/ytkt/items/a2afd6be8e4f06c1ea25#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%82%E4%B8%80%E7%B7%92%E3%81%AB%E5%89%8A%E9%99%A4%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E3%81%8D

元記事を表示

msys2からgit worktree addするとVSCodeなどからgit管理下と認識されない

## 事象

git worktree使うときにVSCodeでgit管理と認識されるケースとされないケースがあって困っていた。

## 原因

msys2からgit worktreeコマンドでworktreeを切ると次のようになる。

“`bash
$git worktree list
/home/yumetodo/test/foo 6bf17179b [master]
/home/yumetodo/test/foo_alpha 23b7bcf18 [alpha]
“`

これをpowershellからみるとこう

“`powershell
PS C:\msys64\home\yumetodo\test\foo> git worktree list
C:/msys64/home/yumetodo/test/foo 6bf17179b [master]
/home/yumetodo/test/foo_alpha 23b7bcf18 [alpha] prunable
“`

つまりパス表記がわるい。

## wor

元記事を表示

.gitignoreと.git/info/excludeの違い

## 環境
Git 2.25
Ubuntu 20.4

## はじめに
Gitの.gitignoreの配置は、使い方によって、大きく4パターンあります。それぞれの使い方についてまとめてみました。

– .gitignore
– .git/info/exclude
– ~/.gitexclude
– /etc/gitexclude

## .gitignoreと.git/info/excludeの違い

GitHubに上げたくないファイルは、.gitignoreに記述することが多いかと思いますが、.git/info/excludeに記述することもできます。どちらに書いても同じではありますが、基本的には次のような使い分けがされます。

数名でプロジェクトの開発をしており、GitHubに上げないファイルを全員で共通化する場合は、.gitignoreに記述します。.gitignoreに追加が発生したときは、.gitignoreを全員で共有化させます。

GitHubに上げないファイルが、個人的に作成したファイルの場合、つまり、他人と共有する必要がない場合は、.git/info/excludeに

元記事を表示

Gitコマンド一覧

PJでGitを使用することになったため、備忘録として記載します。
# init
Gitの作業リポジトリ作成
~~~
$ git init
~~~
【補足】
GitHubとの紐づけを実施
~~~
$ git config –global user.name “username”
$ git config –global user.email {mail@example.com}
~~~

# clone
既存のリモートリポジトリをクローンしてくる
~~~
$ git clone https://github.com/user/XXX.git
~~~

# remote add
今後リモートリポジトリへの操作時、<リモート名>を打つことでURLを入力不要にするための設定
~~~
$ git remote add <リモート名> <リモートURL>
~~~

# fetch
リモートリポジトリ→ローカルリポジトリに取得
~~~
$ git fetch <リモート名> <ブランチ名>
~~~

# merge
指定ブランチから今いるブランチにマージする
※コメントを求められた場合、「Ctr

元記事を表示

【Python/Git】pycacheをgit ignoreする

Pythonのパッケージを実行すると、各パッケージに`__pycache__`フォルダーが自動生成されますよね。
ソース管理上邪魔ですよね。
こうすればいいです。
“`:.gitignore
**/__pycache__/**
“`
こうすることにより、全ディレクトリにある`__pycache__`ディレクトリが全てignoreされます。

:::note
この記事を読んでいる方は、次の記事も読んでいるのかもしれません
* [とりあえず周りと仕事ができるGitHub入門](https://qiita.com/konbraphat51/items/8d4907bf02cfff518462)
:::

元記事を表示

過去のGitコミットメッセージから “wip -” を一括削除する方法

プロジェクト開発中に、”Work In Progress”(WIP)としてマークされたコミットがいくつかあるかもしれません。これらのコミットは、開発の途中段階で作成されるもので、しばしば “wip -” というプレフィックスが付けられます。しかし、これらのコミットを本番環境にマージする前に、これらのWIPマークを取り除きたい場合があります。ここでは、これを効率的に行う方法を紹介します。

## **必要なツール**

– Git
– シェル(Bashなど)

## **ステップバイステップガイド**

### **1. 対象のコミットを特定する**

まず、”wip -” プレフィックスを含むコミットを特定します。これには **`git log`** コマンドと **`grep`** を使用します。

“`bash
git log –oneline | grep -B1 ‘wip -‘
“`

このコマンドは、”wip -” を含む各コミットとその直前のコミットのハッシュとメッセージを表示します。**`-B1`** オプションは、マッチした行の前にある1行(直前のコミット)も表示

元記事を表示

ブランチとタグ

# はじめに

この記事は構成管理が初めて!であったり、master(svnでいうtrunk)しか使ったことがない!といった人向けになります。

# Branch

ブランチは分岐させるという意味合いがあります。
例えば1つのベースモデルの開発があり、そこから分岐して廉価版モデルやチップ構成が異なるモデルなどといった場合にBranchさせて開発を行います。
ブランチさせた後にベースモデルで不具合などあるとマージが必要となってきますのでBranchさせるタイミングは注意が必要です。
他にはOS毎にBranchしてOSに依存する部分のみ分岐開発するというのもよいと思いますが、この場合OSに依存しないApplication層等はsubmodule化する方が良さそうです。

考えやすい例:
* 車のマイナーチェンジモデル(どちらかというとTagになるかも)
* ノアとヴォクシー、
* iPhoneXXとiPhoneXX Pro , iPhone XX SE
* 親会社と子会社の社内規則など

# Tag

タグはあるリリースの静的なバージョンを持つときに利用します。
Branchと異なる点はT

元記事を表示

超軽量・高性能DevopsプラットフォームGitea

## はじめ
Gitea は去年10月企業を創立してから、かなり進化してきました。
日本のユーザーにとって、日本語対応があれば、使う意欲が高まるのではないかと思いますが、Gitea 自体は日本語をサポートしていますが、コミュニティ、ドキュメントと公式サポートなどはまだ対応していないです。今後対応してくれますので、期待できると思います。

## Gitea とは

Gitea は Go 言語で開発されているオールインワン Devops プラットフォームです。OSS のため、自己ホストは可能です。セキュリティに厳しい会社でも、オンプレミス環境で利用できます。
バージョン 1.19.0 から、組み込み CI/CD 機能も実装されています。GitHub Actions との互換性がりますので、GitHub Actions に向けて開発されたプラグインは Gitea でも利用可能です。もちろん、CI/CD の YAML ファイルを変更なしで、簡単に GitHub から移行できます。

### 歴史
– 2016年11月 [Gogs](https://gogs.io/) からフォークした
Gogs

元記事を表示

Gitea Cloudが来ました

## Gitea とは

Gitea は自己ホスト可能なオールインワン Devops プラットフォームです。最初は[Gogs](https://gogs.io/)からフォークした Git ホスティングサービスですが、今は全然違うものになりました。自己ホスト可能な GitLab CE/EE と GitHub Enterpriseに近い感じなものです。
ちなみに、CICD機能 Gitea Action は GitHub と互換性があります(一部機能はまだサポートされていない)。これによって、GitHub Actionに向け開発されたプラグインやyamlファイルはそのまま使えるという便利なところもあります。

## Gitea Cloud とは

2023/11/28 Gitea Cloudは正式的に発表されました。エンタープライズ企業に向けのSaaSです。
現時点は招待制になっていますので、利用しよう、使ってみたい人は[公式サイト](https://about.gitea.com/products/cloud)でメールアドレスを登録して、後日招待メールが送信されます。

公式のアナウンス:

元記事を表示

git fetch、git merge、git pullとは何か

git fetch=「ローカルリポジトリを最新状態にする」と認識していたら
想定通りにローカルリポジトリが最新状態にならず困惑したため、
調べて分かったことを備忘録としてまとめます。

## 「origin/master」ブランチについて
git fetchを理解するためには、まず「origin/master」ブランチについて知っておく必要がある。

「origin/master」は、**リモートリポジトリのmasterブランチを追跡する**ブランチで、
以下の図のようにリモートリポジトリのmasterブランチと、ローカルリポジトリのmasterブランチの間にある。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3524073/cadbf7b4-dc88-8dd3-67fc-7c1d88a6d27c.png)

「リモートのmasterブランチを追跡する」なので、
「コードの内容」ではなく、「ブランチの情報」を追跡しているという点が大切。

## git fetchとは
git fe

元記事を表示

Git 時空操作のススメ

# 投稿目的

  • 現場での対応の備忘録 兼 Git初心者への情報共有
  • 「ふわっとした理解」を「ぷにっとした理解」くらいに固める
  • 有識者からご指摘をいただく

# 本記事について
現場に配属されてからというもの、Gitを用いて`時空操作`することがたびたびありました (Gitでやらかした際に対処する経験を積ませていただきました)。
その時の備忘録 兼 Git初心者の方への知識共有として、本記事を執筆します。
※VSCode & Git Graphを使用しています。

# 事例紹介「コミットメッセージを間違えた…」
あっ…コミットメッセージに日付を入れるの忘れてpushしてた…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3519885/2d722b0a-c0e8-733f-0e90-db7ed47e6d56.png)

>上記`2023/11/20`ブランチ(ピンクのブランチ)のコミットメッセージ

元記事を表示

GitのようなRDBMSバージョン管理システムの構築 〜Golangを用いたアプローチ〜

# はじめに
現代のデータ駆動型アプリケーションにおいて、データベースの変更管理は重要な課題です。PostgreSQLやMySQLなどのリレーショナルデータベース管理システム(RDBMS)において、これらの変更を効率的に管理するための方法は多岐にわたります。本ブログでは、Gitのようなバージョン管理システムをGolangで構築する方法について詳しく説明します。

# 要件定義
### 対象データベース
+ 初期対象: MySQLデータベースシステム
+ 将来的な拡張: PostgreSQLなど他のRDBMSへのサポート拡張予定

### バージョン管理機能
+ スキーマ管理: スキーマの変更を追跡し、バージョン管理する
+ データ追跡: データの追加や更新を追跡する
+ Gitライク機能: コミット、ブランチ、マージ、タグなどのGitの主要概念をサポート

### ユーザーインターフェース
+ ウェブベースUI: インタラクティブなウェブインターフェースを提供し、ユーザーが容易に操作できるようにする

### データベース操作
+ スキーマ操作: スキーマの変更機能を提供
+ データイ

元記事を表示

初心者に伝えたい!よく出てくる英単語にルビをつける!

# こんにちは、あるいはこんばんは
某企業さんで11月からエンジニアになりました。猫が好きな、れなっちです!
まだ、一ヶ月も経ってない私がなんでこんな記事を書いているかと言いますと・・・
ずっとテキストコミニュケーションだったことと、言語能力低い私が最初にぶち当たった壁が「言われてもなんのことかわかんない???」だったからです。
綴りを見たら察せるのに、言葉にされた瞬間自分が覚えた言い方が間違っていて、わかんなかったため、ここにまとめてやろうと思った次第です(えぇ、自分のためです。)
注意:初心者が書いているため、結局間違っていることがあるかもしれません。お手数ですが、ご指摘いただけるとうれしいです。

## CRUD(クラッド)
大体、「MVC(エムブイシー)モデル」の解説の後に出てくる基本的な言葉。
教科書等では、読み方を教えてくれない代名詞。
生成・読み取り・更新・削除の処理をまとめて表したスペル。
「MVC(エムブイシー)モデル」に釣られて、「シーアールユーディー」って読んでました・・・w
認識はしてたんだよ・・・認識は・・・

## Apache(アパッチ)
普通に英語だった

元記事を表示

Gitの Support for password authentication was removed on August 13, 2021. のエラーについて

## はじめに
友人がgithubにpushできない
というエラーが出た。
エラーを朗読して、わりと引っかかりやすいと思ったので備忘録としておく。
## 目次
– #### はじめに
– #### 前提
– #### エラー内容
– #### 試したこと
– #### 成功した例
– #### まとめ

## 前提
Ubuntu環境で実行。元のgitのバージョンは2.25.1でした。

## エラー内容
前提としてgit pushをしたときに、
Password入力を求められた。
入力して出たエラーがこんな感じ↓

“`
remote: Support for password authenticaion was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currentl

元記事を表示

Gitの超基本コマンド9選

# Gitの超基本コマンド9選

Gitはソフトウェア開発において広く使われるバージョン管理システムです。効果的なGitの使用は、プロジェクトの進行と協力を円滑にし、変更履歴を明確に管理します。ここではGitの基本コマンドを9つ選び、それぞれの機能と使用方法を詳しく解説します。

## Git基本コマンド

### ① コミット準備: `git add`
– **使用方法**: `git add <ファイル名>`
– **説明**: `git add` コマンドは、指定したファイルをステージングエリア(コミットに含めるための一時的な領域)に追加します。

### ② コミット: `git commit`
– **使用方法**: `git commit -m “コミットメッセージ”`
– **説明**: `git commit` コマンドはステージングエリアに追加された変更をコミットします。`-m` オプションに続いてコミットメッセージを記述します。

### ③ リモートリポジトリの登録: `git remote add`
– **使用方法**: `git remote add <リモ

元記事を表示

VSCodeでGitの差分プレビューファイルのみを閉じる方法

# はじめに
VSCodeでGitを用いて開発してる際、画面左側のメニューバーからファイルの差分を視覚的に確認している人は多いのではないのでしょうか。
コミット前とかに変更した全ファイルの差分を一ファイルずつ確認していくかと思います。
しかし画像みたいに差分プレビューファイルがタブにどんどん溜まってしまう…

そこで、差分プレビューファイル(作業ツリーやWorking Treeと書かれてるファイル)のみをすべて閉じる方法をお伝えします!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3325245/1e1b227f-3830-d8dc-4f79-841cca6a87e0.png)

# やり方
1. コマンドパレットを開く
1. Macの場合、`command+shift+p`を同時押しで開ける
1. Windowsの場合、`ctrl+shift+p`を同時押しで開ける
1. 検索バーで、「Close All Diff Editors」と検索し、それをクリックす

元記事を表示

UbuntuにGitをインストール

備忘録用

#### Gitのインストール

“`sh
sudo apt install -y git
“`

#### バージョンの確認

“`sh
git –version
“`

元記事を表示

GitHub Action 内で .github/workflow 配下のファイルを変更したい

# はじめに

git-auto-commit-action という github action があります

https://github.com/stefanzweifel/git-auto-commit-action

レポジトリの説明を引用すると
> A GitHub Action to detect changed files during a Workflow run and to commit and push them back to the GitHub repository. By default, the commit is made in the name of “GitHub Actions” and co-authored by the user that made the last commit.

とのことで、要するに Github Action のなかで加えられたファイルの変更を検知して、それを実際にレポジトリに commit & push してくれる action です。

どのように使うかというと、例えば `npm run format` などと合

元記事を表示

OTHERカテゴリの最新記事