今さら聞けないGit 2021年12月29日

今さら聞けないGit 2021年12月29日

今後のプログラム更新(gitコマンド)

次回からこれで定型化

“`terminal
(myenv) ユーザー名-no-MacBook-Pro:hoge1 ユーザー名$ heroku login
(myenv) ユーザー名-no-MacBook-Pro:hoge1 ユーザー名$ git add.
(myenv) ユーザー名-no-MacBook-Pro:hoge1 ユーザー名$ git commit -m “hoge2”
(myenv) ユーザー名-no-MacBook-Pro:hoge1 ユーザー名$ git push origin master
“`

元記事を表示

Git 系のブックマーク

##Git で変更を取り消して、元に戻す方法 (事例別まとめ)
https://www-creators.com/archives/1290

元記事を表示

Webの勉強はじめてみた その18~Git編②~

N予備校「プログラミング入門Webアプリ」を受講しています。
第2章16,17節を受講しました。

ブランチ

:::note
ある時点のソースコードを分岐させて開発をしたもの
本流となるブランチはmaster(またはmain)と呼ばれる
:::

`git branch`
現在のブランチを確認する。

`git checkout gh-pages`
現在のブランチを以下(gh-pages: GitHub Pages)に変更する。

:::note
checkout : ブランチを切り替え、使用できる状況にすることをチェックアウトという
gh-pages : GitHub Pages に自動的にWebページとしてリポジトリ内容が公開される
:::

`git push origin gh-pages`
origin(リモートリポジトリ)にgh-pagesブランチを`push`する。

`git merge gh-pages`
マージコミット: 他のブランチから変更を取り込む。

その他コマンド

`git commit -am “メッセージ”`
既にリ

元記事を表示

Gitレポジトリのトップに移動するコマンド

私はIDEやGUIでの操作より、シェルでの原始的な操作の方が好きなのですが、シェルにはディレクトリ間の移動(`cd`)がめんどくさいという欠点があります。

そこで、Gitのトップレベルに移動するコマンドを用意しました。

“`shell
t() {
local toplevel
toplevel=”$(git rev-parse –show-toplevel)”
if [ $? -eq 0 ]
then
cd “$toplevel” && return 0
else
return 1
fi
}
“`

元記事を表示

GitHub flowについて

# GitHub flowとは?

– ブランチがベースとなった軽量な開発フローのこと
– 誰にとっても使いやすい

# GitHub flowの流れ

1. ブランチを作成する
1. 変更を加える
1. プルリクエストを作成する
1. レビューをしてもらう
1. プルリクエストをマージする
1. ブランチを消去する

## 1. ブランチを作成する

– 自分のリポジトリ上で作成する
– 短くて分かりやすいブランチ名が良い
– ブランチを作ることで
– 他に影響を与えずに作業が出来る
– 他者からレビューをもらえる

## 2. 変更を加える

– ブランチ
– 安全に変更が出来る場
– もしミスしてもやり直せる
– リモートのブランチにマージするときは注意
– 機能に応じて分離させると良い
– コミット
– 変更を記録すること
– 他者に分かりやすいコミットメッセージを残すと良い
– それぞれのコミットは独立していると良い

## 3. プルリクエストを作成する

– 変更した点を他者からフィードバッ

元記事を表示

Gitでfile permissionが差分として検出された時

はじめに

gitでfile permissionの変更が検出され、少し手を焼いたので調べたことと対処方法を載せておきます

OS:Windows-WSL(Ubuntsu 20.0.4)
VScode + forkでgit周りの作業をしています

結論

`git config –local core.fileMode false`
で解決します

症状

いつも通りmasterを`git pull`しようと思ったら、

“`terminal
error: Your local changes to the following files would be overwritten by merge:
“`
とエラーが出てきました。これは、
「localにあるファイルが変更されてて、mergeする時に上書きされてしまうで」
ということなので、`git stash`なり、`git add -> git commit`すればいいのですが、`git stash`も
`discard change`もできないので困りました。ファイルの差分をV

元記事を表示

Webの勉強はじめてみた その17~Git編①~

N予備校「プログラミング入門Webアプリ」を受講しています。
今回は第2章14,15節です。

git と GitHub

:::note
git : バージョン管理を行うソフトウェア
github : gitを利用したWebサービス
:::

gitのインストール

“`
sudo apt update
sudo apt install git
“`
apt(パッケージマネージャ)をアップデートしてgitをインストール

SSHでGitHubと通信

:::note
パスワード認証 : ユーザー名とパスワードでの認証
公開鍵認証 : ユーザー名と公開鍵で認証
:::

今回は公開鍵認証。

“`
秘密鍵と公開鍵の生成
ssh-keygen
“`

`.ssh`ディレクトリに秘密鍵`id_rsa`、公開鍵`id_rsa_pub`が作られるので、公開鍵を`cat`してgithubに登録する。

公開鍵と秘密鍵

:::note
秘密鍵(自分だけが持っている)
公開鍵(配布用の鍵、南京錠の錠前。秘密鍵でだけ開けられる錠

元記事を表示

gitレポジトリ内の任意リビジョンのファイルを取り出すピュアJSライブラリとWebサーバ `weboverlay`

開発作業中にローカルの git レポジトリ内の古いファイルを参照したいことがあります。
過去のブランチに `git switch` するのは少し面倒だし、間違えて作業中のファイルを失うことも。
そこで、任意リビジョンの任意ファイルを参照できる Node.js のライブラリや Web サーバを書いてみました。

– https://www.npmjs.com/package/git-cat-file (1) JSライブラリ
– https://www.npmjs.com/package/serve-static-git (2) Expressミドルウェア
– https://www.npmjs.com/package/weboverlay (3) CLI Webサーバ

weboverlay を使えばサーバ1つで、任意のブランチ・コミットにアクセスできるので、たとえば、ブラウザの2つのタブで master ブランチと develop ブランチのウェブサイトを同時に開いて比較することもできます。

# (1) JS ライブラリ `git-cat-file`

標準 `git` コマンドの

元記事を表示

遅ればせながらGit/GitHubに入門しました

#**はじめに**
今日は、これからGit/GitHubを使い始めるにあたって、超入門レベルの知識を覚え書きしていきたいと思います。Gitはコミットしてソース管理するレベルで使った事があるくらいで、SVNでもいいのでは?というレベルの使い方しか経験がありません。また、ずっと前にGitHubのアカウントを作成してはいたけど、アカウントに埃がかぶるくらい触っていませんでした。今回、DockerやVSCode等を色々触っているので、そこにGit/GitHubも絡ませていきたいと思い、アカウントを引っ張り出してきました。ただ、目的もなく闇雲に触っていても仕方がないので、今回は以前の投稿で構築した自分用のDocker開発環境でソース管理を開始したいと思います。

#**環境周りの情報**
こちらの投稿に詳しく記載してあります。この環境に対して、今回の作業を行なっていきます。

https://qiita.com/829yasubee/items/93ab15182f93b2689afa

#**環境構築手順**
最初に、Gitでソース管理を行えるように、Git環境を構築したいと思います。

##

元記事を表示

Visual Studio の Git で rebase する

# 前置き

Visual Studio の Git 機能は非常に便利なのですが、rebase がちょっとわかりづらかった(コマンドに対して結果がどうなるのかイメージしづらかった)ので、簡単にやり方をまとめてみました。

# 環境

Microsoft Visual Studio Professional 2019
Version 16.11.7
日本語版

# やり方

– develop
– feature

とブランチがあって、feature に対して develop を rebase します。

【feature】
![スクリーンショット 2021-12-27 094104.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23789/0753aae8-0219-a693-74bb-cbe724e2ebc7.jpeg)

【develop】
![スクリーンショット 2021-12-27 094126.jpg](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

goroutineに制限時間を加える

間に合わなかった場合

“`go

package main

import (
“context”
“fmt”
“time”
)

func task(ctx context.Context, channel_kun chan string) {
fmt.Println(“start”)
time.Sleep(5 * time.Second)
fmt.Println(“finish”)
channel_kun <- "良くできました" } func main() { channel_kun := make(chan string) ctx := context.Background() time_limit := 3 * time.Second fmt.Println("制限時間は", time_limit, "ね~") ctx, cancel := context.WithTimeout(ctx, time_limit) defer cancel() go task(ctx, channel_kun) loop_label: for { s

元記事を表示

Mac でのgit導入に際して(xcodeのライセンス認証)

macでgitを導入するときに少しつまづいたので備忘録的に解決法を残しておく。

まずターミナルで git –version とコマンドを入力してgitが入っているかとバージョンを確認しようとすると

“`
You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.
“`

とのメッセージが出てきた。
どうやらxcodeのライセンス許可がいるらしい。

ターミナルで

“`
sudo xcodebuild -license
“`

を実行し、macのパスワードを入力
何度かスペースを押して承諾していくと最後に

“`
By typing ‘agree’ you are agreeing to the terms of the software license agreements. Type ‘print’ to print them or anything else to cancel,

元記事を表示

GitHubまたはGiteaからHerokuにデプロイする手順

お手軽にWebサーバを立ち上げられるHerokuですが、いつもアップロードしているGitHubから立ち上げる手順や、ローカルネットワークに立ち上げているGiteaから立ち上げる手順をまとめておきます。
というより、備忘録です。すぐ忘れるので。

ローカルネットワークに立ち上げたGit(Gitea)で日ごろは構成管理をして、Qiitaに投稿するときにGitHubに複製してソースを公開し、必要に応じてサンプル動作のためにherokuにデプロイしてアプリ公開する、といった活動を想定して説明していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/3799cd73-4e86-9c18-e877-d2c78b4e8a0d.png)

あるいは、有志の方のGitHubをカスタマイズする場合は以下の順番になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/0a6

元記事を表示

macOS MontereyでHomebrewの再インストール

# これは何?

HomebrewがMontereyにも対応したようなので、古い環境を削除して新しいHomebrewをインストールするまでの記録です。

## きっかけ

gnuradioをHomebrewでインストールしようとすると、以下のメッセージが。

“`sh
$ brew install gnuradio
Updating Homebrew…
Warning: You are using macOS 12.
We do not provide support for this pre-release version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew’s GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience

元記事を表示

git switch後のファイル追加・削除・編集の引継ぎについて確かめる

#この記事は何か?
本記事は「`git switch`しても、コミットしない限りは、ワークツリーやインデックスにおけるファイルの追加・削除は引き継がれるよね?」ということを自分の目で確かめて安心するための記事です。

#使用したgitコマンド
インデックスのエントリを表示する。

“`bash:git_ls-files
$ git ls-files –stage
100644 95cf52bf4d6ad11ee7b8f1635ea0aa35eae2265b 0 main.c
“`

BLOBオブジェクトのファイルコンテンツを表示する。

“`bash:git_cat-file
$ git cat-file -p 95cf52bf4d6ad11ee7b8f1635ea0aa35eae2265b
int main(void)
{
printf(“Hello, world!\n”);

return 0;
}

“`

#表の凡例
新規ファイルの追加、共通ファイルの削除

* ○ … ワークツリーの場合、ワークツリーにファイルが**存在す

元記事を表示

PowerShellForGitHubを使ってみる

PowershellにてGitHubを操作(?)するライブラリがあったので使用してみました。

https://github.com/microsoft/PowerShellForGitHub

GitHub CLIでも十分なのですがPowerShellが便利だとういことに最近気づいたので、PowerShellでできることはやっていきたいと思います。

## Install方法
https://github.com/microsoft/PowerShellForGitHub#installation

を確認してください。管理者権限でPowerShellを起動し、

“`
PS > Install-Module -Name PowerShellForGitHub
“`
を実行するとインストールされます。

## Tokenの取得
まず、APIを使用するためにTokenを取得します。
![2021-12-25_15h28_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/257498/bec28c5

元記事を表示

【Git】空のディレクトリをリポジトリに追加する方法

# 方法
以下のファイルをディレクトリに追加する。

“`
.gitkeep
“`

“`
$ touch test/.gitkeep
$ git status
On branch main
Your branch is up to date with ‘origin/main’.

Untracked files:
(use “git add …” to include in what will be committed)

test/

nothing added to commit but untracked files present (use “git add” to track)
“`

空のディレクトリを作成しただけだと、差分として認識されない。

“`
$ mkdir test
$ git status
On branch main
Your branch is up to date with ‘origin/main’.

nothing to commit, working tree clean
“`

# 補足
この方

元記事を表示

今年1年の開発チームのコミットをビジュアライズする方法

## はじめに

[ランサーズ AdventCalendar](https://qiita.com/advent-calendar/2021/lancers) 23日目担当の [@sayanet](https://twitter.com/sayanet) です。
※ 投稿遅れてしまってすみません!!

今回は、以前記事にした [ランサーズ創業時から今まで12年分のコミットをビジュアライズしてみた](https://qiita.com/sayakob/items/400d5cef869d6a3084ff) を年末振り返りバージョンとして公開します。

## この記事でできること

年間で誰がどれくらいコミットしたかのビジュアライズが簡単に作成できます。
できあがりのイメージ↓
![commit_2021.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40767/cc4cdfa6-6beb-81e2-635e-15366d1371a9.gif)

## つくりかた

### 1. コミットログの取得
`g

元記事を表示

個人的によく使うgitのサブコマンドとオプション

この記事は[PONOS Advent Calendar 2021](https://qiita.com/advent-calendar/2021/ponos)の25日目の記事です。

昨日は私の[UnityのLightAnchorについてもう少し詳しく](https://qiita.com/block/private/b61e970d7c0e0fbfe8fc)でした。

## よく使っているgitのサブコマンドとオプションの紹介

### `git status`
手元の変更されているファイルやディレクトリを確認できます。

### `git diff`
変更内容を確認できます。
`git diff ファイル名`で特定のファイルやディレクトリの変更だけを確認できます。
他にも様々なオプションがありますがほぼこれだけ使っています。

### `git add .`
変更のあるファイルや新規に追加したファイルをすべてステージングします。
変更ファイルが複数ある時に1個づつaddしていくのは辛いので`git add .`で一括追加します。

### `git reset .`
すべ

元記事を表示

「コミットメッセージ」をわかりやすく書く方法

## はじめに
フロントエンドエンジニアをしているズッキーです。
アルバイトを含めるとXHTMLの流行りが終わり始めたぐらいの時代から、フロントエンドエンジニアを経験してます。

さて昔と比べると
昨今のクライアント側のマシンスペックの向上や、
ブラウザ機能の発展に伴い、
「フロントエンドに対する、要件や要求」
が年々上がってきているなぁと感じております。
(とても良いこと)

伴い、**複数人でフロントエンドを開発するシーンが増えてきました。**

最近はフロントエンドエンジニアチームの組織化を色々頑張っているのですが、その中の取り組みの一つである、コミットメッセージの最適化をご紹介させてくださいませ!

## 良いコミットメッセージとは
個人的な見解ですが、
**なぜ(why)、どこ(where)の何(what)**を修正したのかが、
ぱっと読み取れるメッセージだと思ってます。

【良くない例】
「バグ修正」
これだと何を修正したのか、第3者がソースコードを見ないとわからない。。?

【良い例】
「XXXのXXXフィールドの値がない場合に意図しない空白ができるバグを修正」
なぜ(w

元記事を表示

OTHERカテゴリの最新記事