echo("備忘録");

IT技術やプログラミング関連など、技術系の事を備忘録的にまとめています。

Githubにファイルをpushする際のトラブルシューティング

先日、フリーランス向けの「ふるさと納税可能額算出ツール」という
ツールをGithubに公開しました。

github.com

ただ、その際に色々ハマったことがありましたので、
備忘録も兼ねて対策方法を記載しておきます。


■SourceTreeが重いときの対処方法
Git操作系のGUIツールで有名な「SourceTree」ですが、このSourceTreeが
異常に重いことがあります。

SourceTree:https://ja.atlassian.com/software/sourcetree

「内蔵GitとシステムGitのバージョン差異」に起因する何かが
原因らしいですが、調べたところ、下記のような対処方法があるようです。

1. 一部ドライバを削除する

AMD Radeon graphics driver」というドライバを削除したり、
更新したら改善した、というケースがあるようです。
※もちろん、これやったから100%直る訳ではない。

Windows10 64bit でgitBashやSourceTreeがやたら遅い 重い


2. SourceTreeで「システムGitを使う」設定に変更する

SourceTreeの設定で「内蔵Gitを使う」設定になっている場合、
重くなるケースがあるようです。

その場合、
1. Gitの最新バージョンをインストールする。
2. SourceTreeの設定を「システムGitを使う」

とすると、改善する場合があるようです。(僕は直りませんでしたが...)

3. 諦めて、CUIベースで操作する

正直な話、これが一番確実な方法では?と思います。
Gitのコマンド自体はそんなに多いわけではないし、リポジトリ
クローンした後の基本的な、

  • ステージング
  • ローカルコミット
  • リモートpush

という作業だけなら、テンプレートのスクリプトファイルを作って、適宜
必要な箇所だけ修正し、そのスクリプトを実行すれば、毎回コマンドを入力する
手間も省けますし。

何より、無理にSourceTreeの調査に時間を充てるくらいなら、その方が
よっぽど時間を有効に使えるのでは?というのが最大の理由です。


■.gitignoreファイルが作成できない

.gitignore(管理しないファイルの設定ファイル)ファイルですが、普通に
Windowsエクスプローラ上で新規作成しようとしても、作成できません。
(「ファイル名を入力してください」とエラーになる。)
※「gitignore」を拡張子として認識してしまうため。


これを回避するには、

1. ファイル名を「.gitignore.」と入力して、新規ファイルを作成する。
(最後に「.」を付ける)
2. 「拡張子が付いていない...」というメッセージが表示されるので、
「はい」をクリックする。

これでエクスプローラ上でも「.gitignore」ファイルが作成できます。

というか、ファイル作成はGitHub上で行うのが無難かも。


■*.mdファイルのMarkdown記法がリモートリポジトリ上で効いてない場合の対処方法

ReadMeなどの*.mdファイルを更新した際、何故か途中から「Markdown記法が
全く反映されない」という現象が発生しました。

原因は、おそらく途中で設定ファイルの「改行コード」の設定を
手動で変えたことに起因する何か(内部コードがおかしくなった、等)だと
思われます。(ただ、Visual Studio CodeMarkdownビューアーでは、
全く問題なかったんですよね…)

これ自体の解決としては、単純に

  • Markdownが反映されない部分以前の空白文字を削除する
    (場合によっては書いた内容も)

で解決できますが、文字コードの設定は結構重要な部分なので、まとめました。

  • Github上で表示するファイル(*.mdファイルなど)は、改行コードは
    「LF」にする。
  • Gitのインストール時の改行コード設定に注意


f:id:Makky12:20180818073602p:plain

たいていインストールの設定って、デフォルトのまま「次へ」を連打して
しまいがちですが、(Gitは英語表記なのでなおさら)、
Gitの「改行設定」だけは注意が必要です。

上記画像では、上から順に

  • チェックアウト時はLF→CRLFに変換/push時はCRLF→LFに変換
  • チェックアウト時は変換なし/push時はCRLF→LFに変換
  • チェックアウト時/push時ともに変換なし

なんですが、真ん中の「チェックアウト時は変換なし/push時は
CRLF→LFに変換」にしておくのが、無難のようです。

気をつけて!Git for Windowsにおける改行コードqiita.com

※一番下の「変換無し」設定は、上記画像でもわかる通り、クロス
 プラットフォームの環境では非推奨なので、選ばないほうが無難かも。
※「変換無し」設定の場合、ツール側で設定などを行う必要があります。
 VS Codeなら「検索/置換」ウィンドウの「正規表現を使う」オプションを
 ONにすれば、改行コードでの検索/置換が可能です。
※ただ「変換あり」「変換無し」それぞれにメリット、デメリットがあり、
 一概にはどちらが良い、とも言えないようです。
qiita.com

以上、僕がGitHubにファイルをpushする際に遭遇したトラブル、および
その解決策でした。


てか、また前回からかなり間が開いてしまった...

業務都合だったり、あとメンタルの調子を崩したり、色々あったから
なのですが、やはりもう少し更新頻度を上げないと。
別に書きたいネタはそれなりにあるので、別にプログラミングのネタに
こだわらなくてもいいから、もう少し更新頻度を上げないといけませんね。
(こればっか)