20201114のGitに関する記事は4件です。

Gitのバージョンアップで苦戦したのでまとめた

はじめに

いつものように、GitHub上にプッシュを行おうとしたら出来ない・・・。

そいういえば、GitHubからこんなメールが来ていました。

We have detected that you recently attempted to authenticate to GitHub using an older version of Git
for Windows. GitHub has changed how users authenticate when using Git for Windows, and now
requires the use of a web browser to authenticate to GitHub. To be able to login via web browser, users
need to update to the latest version of Git for Windows. You can download the latest version at:

まとめると、どうやらGitのバージョンが古いからGit for Windowsのバージョンアップをしてねとのこと。

以前も2020/11/13以降GitHubはGit for windowsを使用する際のユーザーの認証方法を変更しますよーってメールが来ていた。
しかし、自分はその際にGit for windowsの更新をしたはず・・・。

少し躓いてしまったため、こちらにてまとめます。

結論

結論は、「SourceTreeの内蔵gitのバージョンアップをしていなかった」ことが原因でした。

ただGit for windowsのバージョンアップをすればいいと思っていたがSourceTreeでもバージョンアップする必要があったみたいです。

やってみた

やるべきことはこちらです。

  1. Git for windowsのバージョンアップ
  2. SourceTreeの内蔵gitのバージョンアップ

Git for windowsのバージョンアップ

バージョンアップは、GitHubから来たメールにリンクがあったためそちらからしました。
Gitforwindowsダウンロード

SourceTreeの内部gitのバージョンアップ

バージョンアップは、SourceTreeの上部にある
ツール > オプション > Git > Update Embeddedからできます。

しかし、上記より更新を行ってもなぜか更新ができませんでしたとエラーが出てしまいました。
調べてみたところ、どうやらgit_localというファイルを削除することでできるとのこと。

git_localの場所は、下記です。
C:\Users\ユーザー名\AppData\Local\Atlassian\SourceTree\git_local

こちらを削除することで、無事SourceTree内部のgitのバージョンが出来ました!

参考記事

Sourcetreeの内部gitの更新方法
SourceTreeの内臓Gitのバージョンが上がらなかった話

まとめ

今回はGit for windowsのバージョンアップの際に躓いたことについてまとめました。

参考になれば幸いです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

discord.jsのチャットbotでクラバト管理ツールを作りたかった。 #1

初投稿です。

仲間内でちょっと解決したい問題があったので、
ステップアップ日記式に更新していこうと思います。

やりたいこと

  • discordのテキストチャットからメッセージを取得してスプレッドシートに記載する
    • プリコネRのコンテンツ「クランバトル」の編成管理を見える形で連携したい

4桁後半クランだけど仲間内でモチベーション高めにできているので
もっと効率よくやりたいと思った
攻略法なんかはその担当に任せるとして
自分は管理サイドでサポート出来たらなんかうれしい。

環境準備

何が必要なのかを並べてみる。

  • 管理者権限を持ったdiscordテキストチャンネル (あとbotアカウント)
     → 運用しているサーバとアカウントがあるのでそれを使うことにする。

  • 開発環境

    • Visual Studio Code (エディタ)
    • discord.js (Node.jsのJavascript向けライブラリ)
    • glitch (botの実行環境)
    • Google スプレッドシート
    • Google App Script (botの常時ログインを定義)
    • Git (ソースのバージョン管理)

この辺りだったかな…何か追加があればそのうち。
一通りインストールなりサインアップなりして連携できる環境を作る。

やっていること

bot開発について書きたいので各種サインアップしたりは割愛。
公式を読むなりググるなりで頑張ってもろて…
discord : https://discord.com/
Visual Studio Code : https://code.visualstudio.com/
Glitch : https://glitch.com/

  • Todo
  1. 環境作成
  2. botアカウントを作ってチャンネルに招待する。
  3. 開発する ( コーディング/修正/git push/書いた後に初回に必要なこととか )
  4. 動作確認 ( 少しずつやりたいことを作って仲間にフィードバックをもらう )

ちょっとざっくりしすぎた…続きはもうちょっとよく考えて来週くらいに…

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerの導入--その①--

背景

  • 会社でDocker環境で開発しているが、よくわからないので自分で環境を作ってみようと思ったため。

やること

  • githubでリポジトリの作成
  • 作成したリポジトリとローカル環境の同期
  • githubとdockerの同期

必要なもの

  • githubのアカウント
  • dockerhubのアカウント

1.githubでリポジトリの作成

  • githubの右上の「+」ボタンからリポジトリを作成。  これは普通に書いてある通りにすれば誰でもできる。

2.作成したリポジトリとローカル環境の同期

  • リポジトリ作成後に表示されるURLをコピー
  • ローカルで同期するディレクトリの作成
init
# ~/Documents配下にディレクトリを作成(作成場所、ディレクトリ名は任意)
mkdir ~/Documents/Sample
# 作成したディレクトリに移動して、クローンする
cd ~/Documents/Sample
git clone [URL]
# これにより ~/Documents/Sample 配下に作成したリポジトリ名でディレクトリが作成される

ただし、ローカル出る程度ファイルをアップロードしたい場合は異なる。

# ~/Documents配下にディレクトリを作成(作成場所、ディレクトリ名は任意)
mkdir ~/Documents/Sample
# 作成したディレクトリに移動し初期化する
cd ~/documents/Sample
git init
# ファイルを作ったり色々してコミットまで
touch sample.txt
git add -A
git commit -m "first commit"
# ローカルの情報を取得
git remote add origin [URL]
# 最後にpush
git push origin master

3.githubとdockerの同期
- まずはgithubとの連携

  • Dockerhubにログイン後、右上の指紋マーク見たいのをクリックし「Account Setting」を選択
  • その後、Linked Accountsを選択し、あとは流れに沿って連携

    • dockerhubでリポジトリの作成
  • メニューバーのRepositoriesを選択、その後CreateAccountを選択

  • NameとDescriptionを入力後下にあるgithubのマークをクリックするとどこのリポジトリと連携するか選べる

とりあえずこれで連携は完了。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Gitコマンドチートシート

下のチートシートを自分なりにまとめ直したもの
https://github.github.com/training-kit/downloads/ja/github-git-cheat-sheet/

Gitのインストール

GitHub Desktop

Git コマンドライン

Gitの用語

ワークツリー -> ステージング -> ローカルブランチ -> リモートブランチ
HEAD 現在のブランチの最新のコミット
HEAD^ HEADの一つ前のコミット
HEAD~ HEADの一つ前のコミット ^とは微妙に違う
参考:【やっとわかった!】gitのHEAD^とHEAD~の違い

ツールの設定

// 設定されているあなたの名前を確認します
$ git config user.name
// コミット操作に付加されるあなたの名前を設定します
$ git config --global user.name "[name]"
// コミット操作に付加されるあなたのメールアドレスを設定します
$ git config --global user.email "[email address]"

リポジトリの作成

// カレントディレクトリか指定したディレクトリにローカルリポジトリを作成します
$ git init ([directory])
// プロジェクトとすべてのバージョン履歴を指定したディレクトリにダウンロードします
$ git clone [url] ([directory])

変更の作成

// コミット可能なすべての新規または変更のあるファイルを一覧で表示します
$ git status ([file or directory])
// ファイルの変更や削除をステージングに追加します
$ git add [file]
$ git add -A  // 全てのディレクトリの新規・変更・削除されたファイルを追加
$ git add -u  // 全てのディレクトリの変更・削除されたファイルを追加
$ git add .   // カレントフォルダ以下の新規・変更・削除されたファイルを追加
// ワークツリーとステージングの差分を表示します
$ git diff
// ワークツリーと最新コミットの差分を表示します
$ git diff HEAD
// ステージングと最新コミットの差分を表示します
$ git diff --staged
// ファイルをステージングから外しますが、その内容は保持します
// 削除したファイルは指定出来ません
$ git reset (--mixed) [file]
// ファイルのスナップショットをバージョン履歴内に恒久的に記録します
$ git commit -m "[descriptive message]"
$ git commit -am "[descriptive message]" // 変更・削除をadd commit
// 直前のコミットメッセージを修正
$ git commit --amend -m "[descriptive message]"
// コミットを取り消しますが、ファイルの内容は保持し、ステージングに残ります
$ git reset -soft HEAD^

変更の整理

// 現在のリポジトリ上のすべてのローカルブランチを一覧で表示します
$ git branch
// 新規ブランチを作成し切り替えを行い、作業ディレクトリを更新します
$ git checkout -b [branch-name]
// リモートリポジトリのブランチをチェックアウトする
$ git checkout -b [branch-name] [remote branch]
// 指定されたブランチの履歴を現在のブランチに統合します
$ git merge [branch-name]
$ git merge --no-ff [branch-name] //確実にマージコミットを作る場合
// 指定されたブランチを削除します
$ git branch -d [branch-name]

ファイル名の整理

// 作業ディレクトリからファイルを削除し、削除をステージします
$ git rm [file]
// バージョン管理からファイルを削除して、ローカルのファイルは保持します
$ git rm --cached [file]
// ファイル名を変更し、コミットします
$ git mv [file-original] [file-renamed]

.gitignore

nonoe
.gitignore
*.log
build/
temp-*
// プロジェクト内のすべての除外されたファイルを一覧で表示します
$ git ls-files --others --ignored --exclude-standard

変更の退避

// すべての変更のあるトラックされているファイルを一時的に保存します
$ git stash
// 直近に一時保存されたファイルを復旧します
$ git stash pop
// すべての一時保存された変更セットを一覧で表示します
$ git stash list
// 直近に一時保存された変更セットを破棄します
$ git stash drop

履歴の確認

// 現在のブランチのバージョン履歴を一覧で表示します
$ git log
// 名前の変更を含む指定したファイルのバージョン履歴の一覧を表示します
$ git log --follow [file]
// 2つのブランチ間の差分を表示します
$ git diff [first-branch] [second-branch]
// 指定されたコミットのメタ情報と変更内容を出力します
$ git show [commit]

コミットの修正

// [commit]以降すべてのコミットを取り消し、ローカルでは変更を保持し、ステージングには残します
$ git reset --soft [commit]
// [commit]以降すべてのコミットを取り消し、ローカルでは変更を保持します
$ git reset [commit]
// 指定されたコミットに戻り、それ以降のすべての変更を破棄します
$ git reset --hard [commit]
// 指定されたコミットを打ち消すコミットを追加します
$ git revert [commit]
$ git revert [commit] -n // 打ち消すソースコードを作成するがコミットはしない
$ git revert -m [1or2] [commit] // マージを取り消す
// コミットの変更、コメントの修正、コミットの削除などを対話形式で操作します
$ git rebase -i [commit]

変更の同期

// リモートリポジトリを設定します
$ git remote add origin [url]
// リモートブランチからすべての履歴をダウンロードします
$ git fetch [bookmark]
// リモートブランチを現在のローカルブランチに統合します
$ git merge [bookmark]/[branch]
// リモートブランチの履歴をダウンロードし、ローカルブランチに変更を統合します
$ git pull
$ git pull --rebase // localコミットを一時退避してからffでpullしてHEADからlocalコミットを反映(rebase)する場合
// すべてのローカルブランチのコミットをリモートブランチにアップロードします
$ git push [alias] [branch]
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む