今さら聞けないGit 2022年11月30日

今さら聞けないGit 2022年11月30日

【Git】コマンドにエイリアスを付ける

Gitのコマンドにエイリアスを設定することでコマンド入力を短い文字数で実行することができる

### コマンドにエイリアスを付ける
“`
$ git config –global alias.ci commit //commitコマンドに「ci」を割り当てる
$ git config –global alias.st status //statusコマンドに「st」を割り当てる
$ git config –global alias.br branch //branchコマンドに「br」を割り当てる
$ git config –global alias.co checkout //checkoutコマンドに「co」を割り当てる
“`

git configは設定を変更するためのコマンド
–globalのオプションを指定すると該当ユーザの全リポジトリがたいしょうはんいとなる

元記事を表示

gitにまつわるまとめ(自分用)

1. git addでうまくstageに上がらない時
https://chroma.hatenablog.com/entry/2013/10/18/111052

2. pre-commitを無視したい時

gitでpre-commitを無視する

元記事を表示

GitHub CLIでRemote repositoryをコンソールから操作する

## GitHub CLI とは?

GitHubをコンソールから操作することができるようにするGitHub公式のツールです.
Repositoryの作成とか名前でClone,Issue周りとかブラウザを開かずに色々できます.

https://github.com/cli/cli

## 導入

公式リポジトリのReadmeの通りに進めてインストールします.その後,下記コマンドを入力し初期設定を行ってください.

“`
gh auth login
“`

## 例

例として,Repository作成とRepository名でCloneを挙げます.

### Repository作成

GitのRepositoryがあるディレクトリで下記コマンドを入力して作成します.
リポジトリ名や公開設定等を聞かれるので,適当に入力してください.

“`
gh repo create
“`

作成されたリポジトリを確認するには

“`
gh repo list
“`

を実行してリポジトリのリストを表示するか

“`
gh browse
“`

を実行してウェブブラウザ上で表

元記事を表示

.gitattributesで特定ディレクトリ内のファイルを指定する

## 概要
ファイルごと、ディレクトリごとにgitの振る舞いを制御する方法に`.gitattributes`を使用する方法があります。
このファイルの使い方はネット上に記事がそれなりに存在しますが、特定ディレクトリ内のファイルを指定する方法について[公式ドキュメント](https://git-scm.com/docs/gitattributes)含め情報が少ないです。
ということで、ディレクトリ内のファイルを指定する方法について調べたことをメモしておこうと思います。

## 結論
`.gitignore`の書き方と変わらない

## .gitattributesの使い方
一般にリポジトリのルートディレクトリに配置してgitの振る舞いを制御します。
配置するファイルの記載例は以下です。

“`sh:.gitattributes
* text=auto eol=lf
*.c text eol=lf
*.h text eol=lf
*.bat text eol=crlf
*.sh text eol=lf
*.jp

元記事を表示

sakuraのレンタルサーバーにあるGitリポジトリにssh公開鍵認証で接続する方法

sakuraのレンタルサーバーにGitリポジトリを作成したのは良いものの、sshで接続するとプル/プッシュの時に毎回パスワードを要求されて困っていた。
Puttygenで秘密鍵・公開鍵を作成しTortoiseGitに登録して~という記事はいくつも見るけど設定していも上手く行かない。(パスワードを要求される)
その場合の対応方法を記載する。

# ◆大まかな手順
> ①sakuraのサーバで秘密鍵・公開鍵を作成する
 ②秘密鍵をクライアントにダウンロードする
 ③クライアント側にてsshのConfigを記述する

## ①sakuraのサーバで秘密鍵・公開鍵を作成する
– まずPuttyなどでsakuraに接続
– 次に~/.sshに移動
>“`
>cd ~/.ssh
>“`

  ※.sshフォルダが無い場合は作成してから移動(`mkdir ~/.ssh`)

– `ssh-keygen`にて秘密鍵・公開鍵を作成する
>“`
>ssh-keygen -t rsa -f id_rsa_sakura
>“`
  `-t rsa`は暗号方式をRSAにする指定
  `-f id_r

元記事を表示

SVNメモ

開発現場にて使用している「SVN」について簡潔にまとめていきます。

# そもそもSVNって何?
正式名称は、**「Apache Subversion(アパッチ・サブバージョン)」**。
オープンソースのバージョン管理システムであり、誰でも無償で利用することができます。特に複数人で行うソフトウェア開発においてはソースコードやドキュメントの管理目的で重宝され、データの復旧や変更内容の履歴チェックが可能です。

# SVNとGitの違いは?

一言で言うと、SVNは **「集中型バージョン管理システム」** 、Gitは **「分散型バージョン管理システム」** に大別されます。
**集中型バージョン管理システム**・・・サーバにある「リモートリポジトリ」でソースコードのバージョンを管理しています。開発者はリモートリポジトリにアクセスして自身のローカルPCに指定したバージョンのソースコードをチェックアウト(ダウンロード)して開発します。また、修正や追加したソースコードはリモートリポジトリへコミット(登録)します。

**分散型バージョン管理システム**・・・開発者自身のローカルPCに「ローカ

元記事を表示

代表的なGit コマンド 一覧

# Gitコマンド 
### 初期設定
名前とメールアドレスを登録
git config –global user.name “AAAAA”
git config –global user.email “AAAA@AAAA.com”
### 設定の確認
git config –list

## ローカルリポジトリを作成し、リモートリポジトリにプッシュ
### ローカルリポジトリの生成
git init
### ファイルをインデックスに追加
git add ファイル名
### git commit
ローカルリポジトリにインデックスの変更箇所を保存
### git remote add [追加するリモートリポジトリ名] [追加したいリポジトリ]
指定した名前にリモートリポジトリのアドレスを関連付ける
### git push [作成したリポジトリ名] [ブランチ名]
ローカルリポジトリの変更箇所をリモートリポジトリにアップロード

## リモートリポジトリからローカルリポジトリにダウンロード
### git clone リモートリポジトリのSSH
リモートリポジトリの内容をローカル

元記事を表示

[CICD#0]DockerfileによるCentOS7コンテナの構築 ※現在(2022/11/29時点)作成中

gilab+ansible+gitlab-runnerでITインフラのCI/CDを実現するプロセス
※環境構築も本記事も絶賛作成途中でございます。

# 本稿の目的
DockerコンテナのCentOS上にansible+gitlab-runnerのCI/CD環境を構築するのに
ベースとなるCentOSになんのライブラリを突っ込むのが適切なのかを知ることが目的です。

# 全体構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408313/e12005e3-3e2a-4db2-affb-667f2698fc82.png)

# 本稿で解説する部分(コンテナ1)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408313/11682137-0a5f-69a6-c2ad-86e461f2f220.png)

# 結論
最終的に出来上がったコンテナ1のDockerfileを記載します。
“`

元記事を表示

【Git】Gitでよく使うコマンド メモ

Git初心者なのでよく使うコマンドをまとめておく

お試しでローカルリポジトリに`command.txt`をファイルを作った

#### add
ステージエリアにファイルを追加するコマンド
“`
$ git add . #カレントディレクトリ配下すべてをadd
$ git add <ファイル名> #ファイルをadd
$ git add <ディレクトリ名> #ディレクトリをadd
“`
“`
# 作ったファイルをadd
$ git add command.txt
“`

#### commit
作成したファイルをGitに登録するコマンド
“`
$ git commit #commit
$ git commit -m “メッセージ” #ファイルをメッセージ付きでcommit
“`

“`
$git commit command.txt
“`
COMMIT_EDITMSGファイルが表示されるので最上部行にコメントを追加する
“`
command.txtの追加 ←コメント
# Please enter the commit message for your changes.

元記事を表示

Gitの基礎知識

# Gitとは
データを複数の場所で管理することを可能にしたシステム。
## Gitを利用する2つのメリット
1つ目は、プログラムを以前の状態に変更することができる。
誤って消してしまったコードを復活させたり、新たなバグ発生前のコードに即座に戻したり、上書きする前のコードを見つけたりすることができるようになります。

2つ目は、変更履歴を記録できる。
どこを修正したのか瞬時に分かるため、修正箇所の確認漏れを防止できます。

## 専門用語
### リポジトリ
ファイルやディレクトリの状態を記録する場所。
### ローカルリポジトリ
ユーザのPCにあるリポジトリをローカルリポジトリと呼びます。
### リモートリポジトリ
オンライン上で機能するリポジトリです。複数人とリポジトリを共有することができます。
### ワーキングツリー
ファイルを編集する場所。
### インデックス
コミットするためのファイルを一時的に保管しておく場所。
### コミット
インデックスに置いたファイルをローカルリポジトリに保存する操作
### プッシュ
ローカルリポジトリをリモートリポジトリへアップロードする操

元記事を表示

Gitのパーソナルトークンが切れたとき(更新時)の対処…の落とし穴だったところメモ

# はじめに

“`:うまくいかないパターン
% git fetch
remote: Invalid username or password.
fatal: Authentication failed for (略)
“`

ほとんどの人は以下のURLで解消すると思います。
https://qiita.com/gin_teacher/items/d52a25fb5ca9fed3108a

似たような記事もいくつか参照しました。
https://zenn.dev/yuri0427/articles/9587ae6a578ee9
※ “git push origin”は流石にアレなので基本的には”git fetch”のほうがいいと思う

1. キーチェーンをクリア(または更新する)
1. git config -global で要素を更新する

普通はこのあたりを実施することで再度権利情報(usernameとかpasswordの確認)確認が登場して、そこで新しいトークンをパスワードとして入れればいいと思います。

自分の場合ここで何をやっても解消せず、キーチェーン以外の各所のキャッ

元記事を表示

Git で特定のコミットまで戻す(→作業完了したら、最新に戻す)(git reset)【Git Tips!】

# はじめに

不具合の調査って、時々、入れ込んだ箇所がわかるまで、コミットを一つずつ戻していく作業になったりしますよね。そんな時のお供が `git reset` コマンドです。

# 手順

### まずはコミットを確認

`git log` コマンドでコミットのハッシュ値を確認します。
一度に多くのログを表示させたい場合、`–oneline` オプションが便利です。

ここでは「お気に入り機能」に取り掛かる前の `f2940ec` (下から2行目)に戻したいとします。

“`
$ git log –oneline -n 20
2a2584e (HEAD -> v1.7.4_dev, origin/v1.7.4_dev, origin/master, origin/HEAD, master) v1.7.3 リリース
278f6b2 Merge pull request #165 from yokoba569/v1.7.3_dev
7a23fb5 (origin/v1.7.3_dev, v1.7.3_dev) Merge pull request #164 from yokoba

元記事を表示

Git hooksによるアクセス制限実現方法

共有フォルダにgitリポジトリを置き、それを共有リポジトリにすることで、簡易的にソースコードをgit運用できる。この時、簡易的なリポジトリへのアクセス制限をかけたい時がある。
この記事では、ユーザー単位、リポジトリ単位でのリポジトリの更新制限をかけるためのgit hookを紹介する。
あくまでもうっかりミスを防ぐ目的であり、厳密なセキュリティ確保には使えないので注意してほしい。

# ファイルサーバーでの共有リポジトリの作り方のおさらい

共有リポジトリの作り方は、git initコマンドで –bare –shared オプションを付ければよい。
–bareオプションは作業ディレクトリを作らないオプション、–sharedはパーミッションを共有可能にするオプションである。

“`console:server01
mkdir myproj1.git
cd myproj1.git
git init –bare –shared
“`

上記の方法で初期化したリポジトリをファイルサーバ上で共有し、ローカルでクローンすれば、その共有フォルダをリモートリポジトリとするローカルリポジ

元記事を表示

Gitについてのアウトプット

## なぜGitについて学ぼうと思ったのか
 普段何気なく使っているGit。私はアプリの製作中GitHubデスクトップにて**メインブランチを消去**という暴挙をおかしてしまい、途方に暮れてしまいました。それを機にGitについて改めて勉強したので、アウトプット。
 もしかしたら間違えているところもあるかもしれませんが、コメントで教えていただけると幸いです。

# Gitとはバージョン管理ツールである
 そもそもGitとは何かという根本的なことさえ頭に入ってなかったのですが、Gitはバージョン管理ツールのことです。

## バージョン管理ツールのない世界を仮定する
AさんとBさんが共同であるアプリを作成した。ところが、修正箇所が見つかったので、Aさんが「アプリX」の名前を「アプリX 改訂版」として保存した。そして、このデータをBさんと共有した。するとまた修正したい箇所が見つかったので、Bさんはアプリを修正後、「アプリX 改訂版」という名前を、「アプリX 最新版」として保存した。かくしてAさんとBさんはこのようにアプリの修正を繰り返した結果、どれが最も最新版なのかわからなくなってしまった。

元記事を表示

SourceTreeからコミットを試みるとHuskyのpre-commitでエラーになる(husky – pre-commit hook exited with code 127)

SourceTreeからコミットを試みるとHuskyのpre-commitでエラーになる(husky – pre-commit hook exited with code 127)

Huskyでpre-commitが設定してあるプロジェクトに対し、SourceTreeからコミットを行った際、
“`
.husky/pre-commit: line 4: yarn: command not found
husky – pre-commit hook exited with code 127 (error)
“`
というエラーが出てコミットできませんでした。

pre-commitを確認してみると、
“`
yarn lint
“`
という箇所があり、 yarn が見つからないことが原因のよう

### 対策
https://community.atlassian.com/t5/Bitbucket-questions/SourceTree-Hook-failing-because-paths-don-t-seem-to-be-set/qaq-p/274792

“`
open /

元記事を表示

Git関連のまとめ

# 1. セットアップ
1. Downloadとインストール
https://www.curict.com/item/60/60bfe0e.html
2. GitHub登録
+ ユーザ登録後、リポジトリ作成
3. Git初期化&SSHキー作成
“`: gitbash
git config –global user.name ‘xxx’
git config –global user.email ‘xxx’
git config –list
cd ~
mkdir .ssh
ssh-keygen -t ed25519 -C ‘メールアドレス’
“`
4. 公開鍵をGithubに登録
+ アカウント > Settings > SSH and GPG keys にアクセス
+ SSH keys 項目で「New SSH key」で登録
5. 疎通確認
“`: gitbash
ssh -T git@github.com
“`
6. VSCodeのターミナルを`git

元記事を表示

無知な新人がGitに入門したときの備忘録

(※2020年に書いた記事です)

# はじめに

この記事は、無知な新人(私)がGitを使うことになったときの記録です。
自分用の備忘録としてここにおいておきます。

### 参考にさせていただいた記事
– Gitの基本概念の理解:「[図解! Gitのブランチ・ツリーをちゃんと読む](https://qiita.com/jesus_isao/items/2a0495c973a4c911c2cc)」
– 使い方の基礎:「[[Git] 基礎 ~master反映まで~](https://qiita.com/hikaru_/items/dc875b27a515f9ee9284)」
– リモートにSSH接続するための準備:「[GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~](https://qiita.com/shizuma/items/2b2f873a0034839e47ce)」
– GitHub での Pull Request について:「[【GitHub】Pull Requestの手順](https://qiita.com/aipacommander/items/d

元記事を表示

git+latexdiff-vcで快適にHEADとの差分を確認しながら論文を執筆する for Windows

# Abstract

Latexで論文執筆して、先生と添削などを含む、内容のやり取りする際に綺麗な差分があると嬉しい気がします。
そこで本記事では

– 下記のような差分pdfファイルを本体のファイルを編集しながら生成する方法
![差分pdfの例](https://nekketsuuu.github.io/assets/entries/2017-01-27-latexdiff-vc/diff.png)
Gitで管理しているLaTeXのdiffをpdfで見る(TeXLive2015版), https://nekketsuuu.github.io/entries/2017/01/27/latexdiff-vc.html より
– windows特有と思われるエラーの対処

を示します。

# 環境

– windows 10
– texlive 2021
– perl v5.32.1

# latexdiff-vcって?

`latexdiff-vc`は`latexdiff`という、2つの`.tex`ファイルの差分を強調した`.tex`を出力させるCLIツールのラッパーです。
まぁオプシ

元記事を表示

初心者のCコンパイラ作成ログ

## はじめに

初心者が[低レイヤを知りたい人のためのcコンパイラ作成入門](https://www.sigbus.info/compilerbook)をやってる途中で躓いたところの備忘録です。適宜更新します。

## 目次
– [githubにpushできない](##-githubにpushできない)

## githubにpushできない
(2022/11/25編集)
pushコマンドを実行すると以下のエラーが出た。
“`
~9cc$ git push
Please make sure you have the correct access rights and the repository exists.
“`
.sshフォルダに「config」ファイルを作成し、以下をコピペする。
“`
Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
“`
これでもう一度pushコマンドを試すと、
“`
$ git push -u origin main
Enter passphra

元記事を表示

Git ブランチの作成、リモートへの登録方法

## ブランチの作成

ブランチを以下コマンドで作成する
“`
$ git branch <ブランチ名>
“`

確認
“`
$ git branch
master
* tr_record
“`
ブランチを切り替える場合
“`
git checkout <変えたいブランチ名>
“`

## リモートへの登録
“`
$ git push -u origin <ブランチ名>
“`

![スクリーンショット 2022-11-25 14.23.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/589286/bf158ac0-cde8-3ee2-836d-75a9a430ffce.png)

ブランチが追加されている。
以上。

元記事を表示

OTHERカテゴリの最新記事