今さら聞けないGit 2023年09月27日

  • 2023.09.27
今さら聞けないGit 2023年09月27日

raspberry pi4にインストールするソフト

家にいるときWindowsマシンを他人が使うってことになったとき、タブレットが不調中なのでraspberry pi4 (RPi4)使うことにしたいです。なにをインストールしたらいいのか?記録してみました。アーキテクチャが`Arm64`なので、インストールに場合によっては苦労しそうです。

1. pandoc
1. groff (おそらくterminalにpreinstalled)
1. ghostscript
1. okulah (pdf viewer)
1. gawk (おそらくterminalにpreinstalled)
1. marp-cli
1. muttmua
1. todo.txt
1. gnu-plot
1. julialang
1. git
1. docker
1. inkscape
1. NN-SVG
1. mermaid.js
1. mpv

ほんとうは`docker`を導入して、他のソフトは`docker-image`で導入できればいいのですが、`docker`にもアーキテクチャ依存があるらしいので、うまくいく`image`といかないのがありそう。

## 文書

元記事を表示

EC2上のソースコードを自動でGitHubにバックアップする

こんにちは!
今日はAWS EC2インスタンス上にあるソースコードを、定時になると自動でGitHubにcommit、pushしてくれる仕組みを作りたいと思います。
筆者はプログラミング歴1年半ほどの学生で、調べながらだいたい4時間弱で出来ました。AWS歴は半年ないほどです。
# 目次
1. [完成イメージ](#anchor1)
1. [前提条件](#anchor2)
1. [EC2とGitHubを繋ぐ](#anchor3)
1. [バックアップするスクリプトを組む](#anchor4)
1. [スクリプトを定時に実行する](#anchor5)
1. [参考](#anchor6)


## 完成イメージ
毎日0時5分になると、自動で対象のディレクトリのソースコードをGitHubにcommit、pushする。


# 前提条件
– GitHubアカウントを持っている
– バックアップするレポジトリが存在する
– EC2インスタンスが立ち上がっていて、ソースコードが置いてある
– gitコマンドが使用できる

元記事を表示

変更状況を確認できる&元に戻すことができる

## 変更状況の確認
`git status`
確認

## 変更内容の確認
`git diff`
内容を確認

## 変更履歴
`git log`
履歴を表示する

`git log –oneline`
より簡潔に履歴を表示する

## ファイルの変更の取り消し

`git checkout — <ファイル名>`
ファイルを直前のコミットの状態に戻す方法

## ステージの変更の取り消し
`git reset file_name`

`git add` でステージングしたファイルを取り消す

#### *ソースコードやプロジェクトファイルの変更や保存に関する一般的なフロー*
ワーキングツリー → インデックス → ローカルリポジトリ → リモートリポジトリ

ワーキングツリー : 最新のファイル状態
インデックス : コミットするためのファイル状態
ローカルリポジトリ : ファイルの変更履歴を記録(ローカル環境)
リモートリポジトリ : ファイルの変更履歴を記録(共有できる)

下記の用にそれぞれに変更履歴を反映させていきます。

`git add`

元記事を表示

コミットができる

## ローカルリポジトリの新規作成
新規ディレクトリを作成してください。
作成したディレクトリに移動して、Git のローカルリポジトリを新規作成してください。

`mkdir (ディレクトリ名)`
ディレクトリ作成

`cd (ディレクトリ名)`
作ったディレクトリに移動。

`git init`
ローカルリポジトリの新規作成

## 変更をステージに追加
作成したディレクトリの下にファイルを作成して、ステージに追加する。

`touch (ファイル名)`
ディレクトリの中にファイルを作る。

`git status`
正しく作成されているか確認

`git add (ファイル名)`
ワークツリーの変更をステージングエリアに追加する

## 変更を記録
`git commit -m “(変更内容を記載)”`
コミットする

`git log`
確認

## その他Gitのコマンド
備忘録的に残しておきます。

`git diff`
リポジトリとワークツリーの差分をチェック

`git diff -staged`
リポジトリとステージの差分をチェック

`git restore

元記事を表示

エンジニア1年目が思うGitとGitHubの基礎(ここだけは押さえるべきと思うポイント)をまとめる

# はじめに
はじめまして。エンジニア1年目のみーと申します。
今の案件でGitを使ってシステム開発を進めています。
この記事では、未経験でGitが何かすらわかっていなかった頃の自分にアドバイスするなら…といった観点でGitの基礎(ここだけは押さえるべきポイント)をまとめようと思います。
読み物として書いてますので、事前準備は特にありません!

# 対象者
– Gitってなに?と思っている方
– Gitに触れてこなかったが次の案件から必要になる方
– まだGitの学習を全くしていなくて、書籍を買う前になんとなく触りだけ知りたい方
– まずは概要の理解、覚えておいた方がよいことのみ把握したい方

# 前提条件
特になし
(強いて言うならWindowsPCを触ったことがあり、通常操作は行えるレベルであること
例:フォルダ、ファイルと言われて何を指しているか分かること)

# GitとGitHubとは
これは調べればすぐわかることですが、Gitとはバージョン管理システムのことです。どのサイトでもそう書いてありますが、本当にそれに尽きます。システムやアプリのバージョンを管理するためのものな

元記事を表示

Git CLIでの操作

# Git CLIでの操作 #

GUIを最近使用しており、コマンドを忘れてしまっていたので、備忘録

## ブランチについて ##
– ブランチを確認
“`
git branch
“`

– リモートのブランチも確認
“`
git branch -a
“`

– ブランチ作成
“`
git branch {$ブランチ名}
“`

– フェッチ
“`
git fetch
“`

– チェックアウト
“`
git checkout {$ブランチ名}
“`

– 新規ブランチをチェックアウト
“`
git checkout -b {$ブランチ名}
“`

– 新しいブランチをpush
“`
git push -u origin {$リモートブランチ名}

元記事を表示

Github Actionsを使ってYoutubeの再生回数を自動採取&ログ作成をやってみたら苦労した話

## はじめに

YoutubeのAPIを使って動画の再生回数を取得できてうれしくなって、最初は取得するたびにCSVファイルにしてたけど、データ集まるにつれこいつらを自動的にまとめられんものかと考え始めました。
しかしただ単純にCSVにデータを追加するのもツマラナイし、対象の動画が複数あるのでCSVにするにはどうするべきかと考えていた中で、コロナで大騒ぎしてたときの感染者数や、その他オープンデータとして国、都道府県、自治体から公開されてたjsonファイルでログに残すのがいいんじゃないかと考えました。

表題に「苦労した話」とありますが、その原因は私が初心者でGithub界隈の知識が非常に薄いためだったってことで、これから書く内容に辿り着くまでの試行錯誤はそのせいだと最初に書いておきます。そんな試行錯誤を並べると長くなるから今回は割愛しとりますけど。

## jsonファイルについては別記
よくわからないまま始めたjsonファイルの作成ですが、データの追記が簡単で利用時には便利なフォーマット(スキーマ?)をひねり出すのに一苦労したんですが、これについてはまた別の機会に書きたいと思ってま

元記事を表示

GUIツールから仮想環境とGitHubを連携しようとしたら苦戦した話

## 環境

– Windows11
– wsl(Ubuntu)
– Git 2.25.1
– Soucetree
– Gitドドド初心者

## 発生したこと

Soucetree経由でGitHubからUbuntu内“`sunaba01“`ディレクトリにリポジトリをクローンしようとしたら以下のエラーが発生

“`
‘git status’ がコード 128 で終了しました: fatal: detected dubious ownership in repository at ‘//wsl.localhost/Ubuntu-20.04/home/***/sunaba01’
To add an exception for this directory, call:

git config –global –add safe.directory ‘%(prefix)///wsl.localhost/Ubuntu-20.04/home/***/sunaba01’
(\\wsl.localhost\Ubuntu-20.04\home\***\sunaba01)
“`

![im

元記事を表示

Git のクローンについて

# はじめに
チームで管理しているドキュメントの更新、合同誌の執筆などの時に役立つ Git のクローン(複製)方法を記録していきます。
今回の環境は以下の通りです。
– OS:Windows
– エディター:Visual studio Code

# 事前準備
## Visual Studio Code のインストール
今回は、エディターとして Visual Studio Code を使用します。
インストールがまだな方はインストールをお願いします。

## Git のインストール
Git をインストールしましょう。
インストールしていないと、 Visual Studio Code 側でやることやれよって言われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/f964adfa-fd53-87bf-7cfb-80db935ec8e5.png)

## ローカルリポジトリの作成
自分のパソコンに Git に格納されたファイルやソースコードなどを複製する為の場所を用意します

元記事を表示

Gitのデータ管理の仕組み

Gitがどのようにしてバージョン管理をしているのか理解するため、
addとcommitコマンドそれぞれを実行した際に、
リポジトリ内部で行われていること確認していく。

# 目次
 [addコマンド実行時の挙動](#addコマンド実行時の挙動)
 [commitコマンド実行時の挙動](#commitコマンド実行時の挙動)
 [まとめ](#まとめ)

# addコマンド実行時の挙動
 git addコマンドを実行すると、
 まずリポジトリにaddで指定したファイルの圧縮ファイル[^compress]が保存される(図①)。
 圧縮ファイルは*blobオブジェクト*と呼ばれている。
 それにハッシュ関数SHA1[^sha]によってファイル名[^fileName]が付けられる。

 次にステージエリアにあるインデックス[^index]に、
 圧縮ファイルとその元ファイルのマッピング情報を記載する(図②)。

### ・概要図
behavior_of_add.pnggithubにて、cloneしたファイルがレポジトリにpushできない場合の対処法

# 起きたこと
表題の通り、githubにて他人のファイルをcloneしたものを編集し、自分のリポジトリにpushしようたしたところ、以下のエラーが生じた。

“`
ERROR: Permission to (clone元のgitのURL) denied to 自分のユーザー名.
fatal: Could not read from remote repository.
“`

# 原因
permissionがdenyされてしまっているので、以下のコマンドでpush先を確認してみる。

“`:ターミナル
$ git remote -v
“`

“`:ターミナル
origin git@github.com(clone元のgitのURL) (fetch)
origin git@github.com(clone元のgitのURL) (push)
“`

push先がclone元のリポジトリになっていることが判明。

# 解決方法
pushしたいリポートのURLを変更する。

“`:ターミナル
git remote set-url origin (pushしたいレポジト

元記事を表示

Github 初めて使ってみた。使い方まとめ(M2 macbook pro)

# Giuhub
macbook pro M2
githubでの使い方まとめ(自分用メモ)

## 課題

1.pushした際に以下のようなエラーが発生

2.pushの際に以下のようなエラーが発生

“`bash
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to ‘github.com:keishi85/talk_robo.git’
“`

## 現状

1.以下のようなエラーが発生

パスワードの入力にはGithub上のトークンを使用

“`bash
% git remote -v
origin https://github.com/keishi85/test.git (fe

元記事を表示

【Git】ブランチの保護ルール設定

## はじめに
GitHubのBranchProtectionRulesについてチョコット調べる機会があったので、
その内容のまとめとなります。

■ GitHub公式ドキュメント – ブランチ保護ルールを管理する
https://docs.github.com/ja/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule

## ブランチの保護ルール設定をする理由
チームでプロジェクトを進めるとき、ルールがないと混乱が生じる可能性があります。
人数が少なければ大丈夫かもしれませんが、
実務では数人から数百人のメンバーが一緒に作業することがあります。
だからこそ、ルールを設定することが大切です。
特にGitのブランチはチーム協力の基盤で、基本的なルールを守ることで混乱を避けられます。

## 設定方法
1. リポジトリに移動
ブランチの保護を設定したいリポジトリに移動します。

2. Sett

元記事を表示

Gitを利用開始するときのメモ

#### 1. ローカルリポジトリの初期化
“`bash
git init
“`

#### 2. 最初のコミット
“`bash
git commit –allow-empty -m “first commit”
“`
最初は空のコミットにするといいらしい。

#### 3. リモートリポジトリの設定
“`bash
git remote add origin [リモートリポジトリのURL]
“`

#### 4. リモートリポジトリへのプッシュ
“`bash
git push -u origin main
“`

元記事を表示

Git ローカルリポジトリ の作成

ごきげんよう、百合宮桜です。
公私ともに Git 使わないといけない感が出てきたので、設定に追われています。
Git 系はエンジニア感がありすぎて、わかるようなわからなような感じがぴえんって思いながら設定しているので、そのあたりを払拭できるように優しさに包まれた記事を書きたいと思っています。

# 前提条件
私の環境は下記のとおりです。
– OS:Windows 11 Pro
– エディター:Visual Studio Code

Visual Studio Code をインストールしたい方はこちらの記事を参照してください。

https://qiita.com/yurimiyasakura/items/5ce7821f1e3e5905c3ee

# 前提知識
## リポジトリってなに?
プログラムのソースコードやドキュメントなど関連データを一元的に管理する場所のことです。

## ローカルリポジトリってなに?
自分のコンピューター(=ローカル)に作成されたリポジトリのことです。
ファイルを直接、編集できます。
ローカルリポジトリで加えた変更は、ファイルをリモート側に複製する事で反映で

元記事を表示

簡単なGitコマンドの復習

# はじめに
業務では主にSVNを使用しているため、Gitを触ることがありません。
なので、勉強がてらここに備忘録として残しておきます。
# ① git init
“`
$ git init
“`
“`git init“`は、現在のディレクトリ内に新しいGitリポジトリが初期化されます。
Gitは、リポジトリの管理に必要なディレクトリやファイル(.gitディレクトリ)を作成します。

# ② git add
“`
$ git add
“`
“`git add“`は、変更したファイルや新しいファイルを、次のコミットで記録するための一時的なリストに追加するコマンドです。つまり、変更を「次にコミットする準備をする」というイメージです。
コミットする前に、どの変更を含めるかを指定するために使います。

# ③ git commit -m “コメント”
“`
$ git commit -m “コメント”
“`
“`git commit “` は、行った変更を「確定」するためのものです。
-m を付けることでコメントを残すことができます。

# ④ git remote a

元記事を表示

GitHub PagesでWebサイトを公開するまでの手順

# GitHub Pagesとは
GitHub Pagesを一言でまとめると、

作成したWebページ(HTML/CSS,JSのWeb上で動作するページ)を
**インターネット上で公開するための無料で使用できるサービス**です。

上記を行うとなると
一般的に、まず使用するサーバーを立ち上げて、あれこれ設定が必要で、インフラに疎い人にとってはかなりハードルが高いものとなっています。
一方で、GitHub Pagesを使えば、簡単に作成したWebページをインターネット上に公開することができます。

# 手順

### 準備

GitHub Pagesを使用する前に
– [ ] 既にGitHubのアカウント登録の設定、初期設定が済んでいる
– [ ] 手元に公開するためのHTML/CSSファイルおよび画像が用意できている

ということを前提に話を進めていきます。
もしまだGithubの初期設定が完了していない場合は下記を参考にいただければと思います。

https://qiita.com/yasuyuki_sadahira/items/01bb04d039589d1e8e42

###

元記事を表示

Gitの概要

Gitに関する基本的な用語を定義し、
またそれらの関係性を図で説明することで基礎を固める。

# 目次
[Gitとは?](#Gitとは?)
[概要図](#概要図)
[用語一覧](#用語一覧)
[Git利用の流れ](#git利用の流れ)

# Gitとは?
 バージョン[^version]管理システム。
 ファイルやディレクトリの変更内容を記録し、それを履歴として管理する。

# 概要図
git_diagram.jpg

# 用語一覧
#### ・リポジトリ[^repository]
 ファイル(ディレクトリ)の変更履歴を保存する場所。

 **種類**
 リポジトリは2種類あり、
 *リモートリポジトリ*はサーバに置き、複数人で共有する。
 *ローカルリポジトリ*

元記事を表示

git の使用ケースごとの対応をまとめる

## はじめに
これは自分用の備忘録として書くため、大変見にくいと思います。
ご覧いただく際はご了承ください。
また、情報が溜まったら随時書き足していきます。

## ケース
### 新しくプロジェクトを始める時
あらかじめ新しいリポジトリをGUIにて作成しておいてください。
“` sh
cd [ プロジェクト直下 ]
git init
git remote add origin [ リポジトリのURL ]
git fetch
git merge origin/main
git add .
git commit -m “first commit”
git push origin main
“`
### 開発用のdevelopブランチを作る
拙記事では以下の画像のようなブランチ戦略を取ることとします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412378/e60cc129-71c9-69c9-8a13-7ee09ea5c0d2.png)

“` sh
git checkout

元記事を表示

ぼっちではやろうと思わなかった`Gitコマンド`基本編

## 目次

– [初めに](#初めに)
– [1. `git add .`](#1-git-add-)
– [2. `git branch`](#2-git-branch)
– [3. `git pull`](#3-git-pull)
– [4. `git checkout -b [ブランチ名]`](#4-git-checkout–b-ブランチ名)
– [5. `git branch -D [ブランチ名]`](#5-git-branch–D-ブランチ名)
– [6. `git diff`](#6-git-diff)
– [7. `git commit -m “コメント”`](#7-git-commit–m-コメント)
– [8. `git push origin [ブランチ名]`](#8-git-push-origin-ブランチ名)
– [9. Mergeリクエスト (Pullリクエスト) を出す](#9-Mergeリクエスト-Pullリクエスト-を出す)
– [実際に経験したので追記コマンド](#実際に経験したので追記コマンド)
– [11. `git log –one

元記事を表示

カテゴリの最新記事