今さら聞けないGit 2022年01月05日

今さら聞けないGit 2022年01月05日

gitで任意のローカルブランチを複数削除する方法

これが最適かどうかは分かりませんが、grepやxargsを使わなくても単純に”空白”で繋げるだけで任意のローカルブランチを削除できます。

“`
git branch -D [ブランチ名][空白][ブランチ名][空白][ブランチ名]・・・・
“`

“`
例) git branch -D develop1 develop2 develop3

結果)
Deleted branch develop1 (was XXXXXXX)
Deleted branch develop2 (was XXXXXXX)
Deleted branch develop3 (was XXXXXXX)
“`

元記事を表示

GitHubの新しいリポジトリに既存アプリのリソースコードを登録する

# 作業
まず、ローカルでFinderから
既存アプリのコードをコピーして、名前を変更する。

GitHub上のコードをgit cloneコマンドでコピーすると
.gitignoreで除外されているファイルがコピーできない。

![スクリーンショット 2022-01-05 9.28.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1380401/572f2f46-3c2c-c3a2-2be2-0cbbd1cdf771.png)

続いて、GitHubで新しいリポジトリを作成する。

![スクリーンショット 2022-01-05 9.39.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1380401/20d6bbd7-b56a-edda-faeb-14d5d0681eee.png)

最後に、ターミナルからコマンド実行していく。

“`shell:ターミナル

# ディレクトリに移動
% cd new_app

元記事を表示

【Git】操作コマンド早見表(Mac用)

#背景
Gitを学び始めて、コマンドが色々出てきたので、備忘録として作成(2022年1月5日時点)
macOS : Monterey
git version : 2.34.1
#早見表
学んだ順なので、順番は気にしない・・・
あと、全部は記載していない。

| コマンド | オプション |できること |
|:-:|:-:|:-|
|git init|-|今いるディレクトリをGitリポジトリとして管理できるようにする。|
|git status|-|ワーキングディレクトリとステージングエリアとローカルリポジトリのファイルの差を表示する。|
|git add ファイル名|-|ワーキングディレクトリのファイルをステージングエリアに追加する。|
|git commit|-|ステージングエリアのファイルをローカルリポジトリにコミットする。|
|-|-m “コメント”|”コミットする際のコメント” を添える。必須|
|git diff|-|ワーキングディレクトリとステージングエリアのファイルの差を表示する。|
|-| –staged|ステージングエリアとローカルリポジトリのファイルの差を表示する

元記事を表示

BTP ABAP環境でabapGitを使う

##はじめに
この記事では、BTP ABAP(トライアル)環境でabapGitを使うための手順について説明します。

###前提
– EclipseにADTがインストールされていること
– BTP ABAP環境とEclipseが接続されていること
– abapGitに格納したい開発オブジェクトがあること

##手順
1. abapGitプラグインのインストール
1. Gitリポジトリの作成
1. Gitリポジトリとリンク
1. Gitリポジトリへプッシュ

###1. abapGitプラグインのインストール
Help>Install New Softwareをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276021/fabd6c27-f8b2-6f11-0bf0-54a07dc1b99c.png)
URLに`https://eclipse.abapgit.org/updatesite/`と入力します。abapGit for ABAP Development Tool

元記事を表示

`git ls-remote`でブランチの存在も確認したい

`git ls-remote`では、リモートブランチを取得するコマンドであり、
これを使うとそもそもリモートブランチが存在する事を確認できる。

> [3.5 Git のブランチ機能 – リモートブランチ](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81)
> [githubのURLが本当に存在するかシェルスクリプトから確認する](https://qiita.com/seigot/items/7eb7627b9ba835aedbb0)

“`bash:例
$ REPOSITORY_URL=”https://github.com/xxx/xxx”
$ git ls-remote ${REPOSITORY_URL}
XXXXXXXXXXXXXXXXXXXXXXXXX HEAD
XXXXXXXXXX

元記事を表示

二箇所でsubmoduleのあるブランチを開発

二箇所でsubmoduleを使ったブランチを開発する手順です。

submoduleを使っているのでリカーシブルでcloneします。

“`
% git clone –recursive git@github.com:yamori813/rtlbm-mruby.git
“`

サブモジュールを本家の最新にしてpushします。

“`
% git submodule foreach git pull origin master
% git commit -m “update” mruby
% git push
“`

別の所ですでにcloneしてあったものを同じにします。

“`
% git submodule update
“`

![submodule.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104066/d119ae28-7115-c1ac-3140-dce65a735785.png)

他も変更がある場合はpullします。

元記事を表示

README.md の書き方の例

情報処理学会論文誌 「フレッシュマンへ向けて」より引用 ← 具体的な情報はあとで追記。

# README.md
– 機能概要
– 使用方法
– 動作環境
– 動作環境の構築方法
– インストール方法
– テスト方法

# 感想
– 毎回、気分で書くことが変わっていたため、必須の条項があると楽。
– 実際に書いてみると、順番がおかしいような気もする。改善の余地あり。

元記事を表示

GitHubにpushしても芝生が生えないとき、過去に遡って草を再生する魔法

GitHubの芝生は主にissueやmasterへのpushなどで生えます
詳しくは[ここを参照](https://help.github.com/en/github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile)

しかし、ローカルの.gitconfigに登録されているメールアドレスとリモートリポジトリのメアドが一致してないと、ローカルブランチのcommitをプッシュしても芝生に反映されません

違うアドレスでcommitしてしまったり、そもそも.gitconfigが設定されてなかったりなど、あとから気づいて困ることがあると思います

ミスしたコミットがひとつやふたつならひとつずつ手作業で解決できますが、該当コミットがいくつもある場合は一つずつやってられないので`git filter-branch`コマンドを使って修正する必要があります

過去のコミットにさかのぼって芝生を生やす方法を総括的に解説した記事が見当たらなかったので、メモが

元記事を表示

Githubリポジトリ分割したときのメモ

# 概要

旧リポジトリにはアプリ以外の情報が色々と入っていたので、それらと分離して管理するためにアプリ単体でリポジトリ分割を実施した。
既存のリポジトリから新しくリポジトリを初めて作成したのでメモとして手順を残しておく

# 注意
調べて一般的な方法でうまく行かなかった部分があり、我流の部分あり。

# 環境、前提等
ローカルはWindows環境。

# 手順
1.GitHubでリポジトリ新規作成
2.移行元リポジトリのリモートとローカルの状態を合わせておく
3.ローカルのファイルシステムを移行元リポジトリの対象としたいブランチに切り替え(cd <移行元リポジトリ>→git checkout <ブランチ名>)
4.エクスプローラーを開く。対象ブランチの内容になっていることを確認
5.移し替えたいフォルダをエクスプローラーからローカルの任意の場所にコピーペースト
6.フォルダを移し替えただけなのでgitコマンドは使えない。試しにターミナルから移行先フォルダに移動してgit branchと打ってみるとfatal: not a git repository (or any of the p

元記事を表示

Githubにpushしたらエラーが出た話

#Githubにpushしたらエラーが出た

githubにpushしたところ、以下のようなエラーが出ました。

__・エラー内容__

“`terminal:terminal
To https://github.com/ユーザー名/リポジトリ名
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to ‘https://github.com/ユーザー名/リポジトリ名’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: ‘git pull …’) before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push –help’ for d

元記事を表示

wslからファイルをcatしたらおかしなことになっていた

# 結論
* エンコード形式の変換(utf-16→utf-8)
* 制御文字の^Mを削除

が必要だった。

# cat
“`
myname@PC:~/test3$ cat requirements.txt

��❖❖argon2-cffi==20.1.0
asgiref==3.4.1
bcrypt==3.2.0
cffi==1.14.6
(以下略)
“`

※❖のところは、菱形の中に?が入っている文字

# cat -Aで調べてみた
“`
myname@PC:~/test3$ cat requirements.txt-A

M-^?M-~a^@r^@g^@o^@n^@2^@-^@c^@f^@f^@i^@=^@=^@2^@0^@.^@1^@.^@0^@^M^@$
^@a^@s^@g^@i^@r^@e^@f^@=^@=^@3^@.^@4^@.^@1^@^M^@$
^@b^@c^@r^@y^@p^@t^@=^@=^@3^@.^@2^@.^@0^@^M^@$
^@c^@f^@f^@i^@=^@=^@1^@.^@1^@4^@.^@6^@^M^@$
(以下略)
“`

# ファイル形式

元記事を表示

Sourcetree で毎回パスワードを聞かれるのを回避する Mac

QNAP に Gitea 入れて、MacBook Pro で色々テストしているときに Sorcetree で毎回パスワードを聞かれるのを止められなくてめんどくさかったのを止めるまでのメモ。

https://qiita.com/YKInoMT/items/b9b9c5d8616fd098d60a

# 現象

Sourcetree で push するときに毎回パスワードを聞かれる。

![パスワードを聞かれる](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/84947/9b4595fb-2cc9-1815-9193-0578ab243dcf.png)

# 回避策

回避策としては2種類。

キャッシュを使う方法とキーチェーンを使う方法。

キャッシュは設定した時間内なら、再度パスワードを入力する必要がなくなるけど、基本的に都度パスワードを聞かれるので macOS を使っているならキーチェーンで対応するのがセオリーかなと。

# 設定方法

“`bash
$ git config –global crede

元記事を表示

【Git】git diffで差分を確認したとき、改行も差分に含まれる!

# はじめに
Git/GitHubについて勉強していたときに、表題の件について知らずに数時間ハマってしまいました。
同じことにハマってしまった人のため + 知識の言語化のため本記事を書きました。

# 起こったこと
“`:index.html

sample1

“`
上記のファイルをcommitした後、2行目に

“`:index.html

sample2

“`

を追加した後、git diffで差分を確認したところ、

“`:zsh
@@ -1 +1,2 @@

sample1

\ No newline at end of file
+

sample1

+

sample2

\ No newline at end of file
“`
上記のように表示されました。
「-\

sample1\

って1行目を削除していないのは何故???」「しかも+\

sample1\

と、もう一度1行目を書いたことになっている」ということで、いろいろ調べて数時間をつぶしてしまいました。

# 改行も差分に含まれ

元記事を表示

AWS EC2でssh登録してgit clone [Please use a personal access token instead.]

AWS EC2で勉強のため作業していたらgithubからgit cloneするときに普通にhttps使うとエラーが出るようになっていました。

“`
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-30-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access ‘https://github.com/名前/リポジトリ.git/’: The requested URL returned error: 403
“`
簡単にいうとアクセストークンというのを使うか、ssh使ってくれ。ってこと
![GitHub.png](https://qiita-image-store

元記事を表示

取消し・削除系のGitコマンドが、ワークツリー・インデックス・HEADのいずれに作用するか

Gitの取消し・削除系のコマンドが、ワークツリー・インデックス・HEADのいずれに作用するかをまとめました。

|#|コマンド|ワークツリー|インデックス|HEAD|
|:-:|:-|:-:|:-:|:-:|
|1|git checkout .|○|-|-|
|2|git rm [file]|○|○|-|
|3|git rm [file] –cached|-|○|-|
|4|git reset –soft HEAD^|-|-|○|
|5|git reset –mixed HEAD^|-|○|○|
|6|git reset –hard HEAD^|○|○|○|
|7|git restore –worktree file|○|-|-|
|8|git restore –staged file|-|○|-|

元記事を表示

【Git】VSCode上でgit commitを実行するとエラー発生。解決方法

# はじめに
Gitの操作方法を学ぶため、Udemyの教材を見ながらGitを動かしていたところ、git commitを実行した際にエラー発生!
git addまではうまく動作したのに何故!ということで原因を調べて、解決したのでその方法について書きます。
前提として、以下のことはできていました。
①git addまでは問題なく実行できていた
②git config –global core.editor “code –wait”でVSCodeをデフォルト設定していた

# エラー内容
“`:zsh
hint: Waiting for your editor to close the file… code –wait: code: command not found
error: There was a problem with the editor ‘code –wait’.
Please supply the message using either -m or -F option.
“`

「ファイルを閉じるのを待っている??」と考え、VSCodeで開いていたファイル

元記事を表示

卒論を絶対に消さないための環境構築

# 前提
– LaTexを利用して卒論を書いている人に有用な記事になっています。
– LinuxとWindowsで試しました。
– GitHubとGoogle Driveを使用します。アカウントを作ってください。
– 共著者がいる場合はoverleafを使用したほうがいいと思います。この場合は著者が1人であり、ローカルの強いパソコンでoverleafよりも速くコンパイルがしたい人向けです。

# 卒論が消滅するリスクは以下の通り
1. パソコンが壊れる→クラウドにバックアップを取ることで解決
1. バックアップを忘れた状態でパソコンが壊れる→バックアップを自動化することで解決
1. 誤ってパソコンから卒論を消去してそれがバックアップされてしまう→版管理を行い解決
1. リモートのバックアップサービスが停止する→Google Drive(Google社)とGitHub(Microsoft社)のサービスを同時に使用することで冗長性を実現、そもそもインタネット環境に執筆が依存しない構成

– 機械の故障だけではなく、ヒューマンエラーによる消滅も考慮に入

元記事を表示

kazuo_reve「GitHubを使い始めたときに参照した記事まとめ」に何も付け加えられない私。

GitHubを使い始めたときに参照した記事まとめ

https://qiita.com/kazuo_reve/items/7161f10e9e57c5605079

に何か付け加えようと思い筆を取りました。

残念ながら、

git ちゃんと使ってない。

https://qiita.com/kaizen_nagoya/items/17a092c37908476482ba

そいでもって、GitLab Advent Calendar 2021

https://qiita.com/advent-calendar/2021/gitlab

14日目の記事はこちら。

公開算譜は機敏だ。前史。

https://qiita.com/kaizen_nagoya/items/2f6e436e73004b2b7c33

アジャイル開発 Advent Calendar 2021

https://qiita.com/advent-calendar/2021/agile

15日目の記事はこちら。

公開算譜は機敏だ。後書き

https://qiita.com/kaizen_nagoya/

元記事を表示

GitのPackfileの中身を見てみる

# 前提
* 公式サイトのBookにある説明を読んでいるものとしています
– [10.2 Gitオブジェクト](https://git-scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81%B4-Git%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88)
– [10.3 Gitの参照](https://git-scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81%B4-Git%E3%81%AE%E5%8F%82%E7%85%A7)
– [10.4 Packfile](https://git-scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81%B4-Packfile)
* この記事は公式の説明[pack-format](https://git-scm.com/docs/pack-format)を参考に
Gitのソースコードを読んで確認した内容を示しています
* あえていうまでもありま

元記事を表示

npm run buildの際にBuilding for production…Errorが出る

久々の投稿です、
現在は、派遣でエンジニアしてます。
来年の2月からフリーランスになります!!

次の現場では、vueを使うので勉強していて
問題にぶつかりました。

npm run build時に下記のエラーが出ました。

“`
kushiyama_makoto@MakotonoMacBook-Air udemy-vuejs % npm run build

> udemy-vuejs@0.1.0 build
> vue-cli-service build

⠹ Building for production…Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (/Users/kushiyama_makoto/udemy-vuejs/node_modules/web

元記事を表示

OTHERカテゴリの最新記事