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

gitにて、初回push時にエラー「Missing or invalid credentials.」となりpushできなかった話(解決までの流れも記載)

記事概要

吾輩は猫である。
git練習中。
pushを行ったところ、下記エラーが出たため、解決を試みた。

結末としては、いろいろ触っていると解決できたので、エラー発生時の状況、エラー原因、調査・解決手順を残しておく。

エラー内容
Missing or invalid credentials.
Error: socket hang up
    at connResetException (internal/errors.js:570:14)
    at Socket.socketOnEnd (_http_client.js:440:23)
    at Socket.emit (events.js:228:7)
    at endReadableNT (_stream_readable.js:1185:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21) {
  code: 'ECONNRESET'
}

状況

環境はmacOS。
VScode上で初めてターミナルを起動し、
git add
→ git commit
→ git push
したところ、git pushした際に、冒頭のエラーが発生。
pushできず。

エラー内容

冒頭のエラーメッセージにおいて重要なのはおそらく下記の部分。

重要な部分(仮)
Missing or invalid credentials.

直訳すると「資格情報が無い、または無効」
んん、わからん。「資格情報」とは何を指しているのか。
後述するエラー原因調査を経ての推測だが、『資格情報』と言うのはユーザ名とパスワードのこと。

つまり、本エラーは「pushコマンドを実行しているお主は誰だ。名乗らぬ者はpushさせぬぞ」と言っておられる。

エラー原因調査・解決手順

まず、どこに原因があるのかを大きく切り分けることにした吾輩。
ずばり、原因はgit側かVSCode側かを探っていく。

と言うことで、VSCode上で行っていたgit pushを、普通にターミナルで行ってみることに。
これで、VSCode上のターミナルでpushした際のエラーが出れば、エラーの原因としてVSCodeのターミナルか通常のターミナルかといった違いは関係ないと言うことができると思ふ。

通常のターミナルでgit pushを行ったところ、ユーザ名とパスワードの入力を尋ねられた。
問われるがまま入力すると、push成功。

_:(´ཀ`」 ∠):{えぇ・・・

その後、VSCode上でgit add、git commitを再度行った上でgit pushしてみると、ユーザ名とパスワードを尋ねられ、問われるがまま入力。
pushできました。

_:(´ཀ`」 ∠):{えぇ・・・

と言うことで、pushできなかった要因は、push時にユーザ名とパスワードを入力しなかったからと思われる。
なぜ、初回のVSCodeターミナルでのpush時にユーザ名とパスワードを尋ねられなかったのか。
VSCodeの設定か、gitの設定か・・・結局、何の設定だったのかは分けられなかったけれど、エラー内容はわかった。
もう少し余力が出てきたら、そのあたりも調査してみます。

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

bitbucketでリモートブランチを削除 (git)

目的

bitbucket でリモートブランチを削除する時に、WebサイトでGUIから行っていましたが

コマンドから実施する方法を調べました。

解決策

削除したいリモートのブランチを trash-test とします。

実施コマンド

$ git push --delete origin trash-test
$ git push origin :trash-test

出力結果

$ git push origin :trash
To https://bitbucket.org/hogehoge/fugafuga.git
 - [deleted]         trash-test

※ 記事を書いてみたものの、危ないコマンドなので実施するときは気をつけてください。

あまり使う機会はないかもしれません

参考

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

【Git初心者向け】リポジトリ作成

リポジトリ作成

リポジトリ作成するときの毎回の儀式
忘れるのでメモする

流れ

対象ディレクトリに移動

cd vue-tasks/

git初期化

git init

状態確認

git status

差分ステージングに追加

git add .

コミットする

git commit -m "initial commit"

github上でリモートリポジトリを作成する

リモートリポジトリのアドレスを名前を付けて記録(これをすることでリモートリポジトリへの操作をするときいちいちURLを叩かなくて済む)

  • origin:記録する名前

  • https://github.com/tanoken729/vue-tasks.git(例)

リモートリポジトリのURL

git remote add origin https://github.com/tanoken729/vue-tasks.git(例)

リモートリポジトリに変更履歴をpushする
実行オプションで-uを指定すると、次回以降はそのブランチ名の指定を省略できる(一番初めはorigin masteを省略できない)

git push -u origin master

リモートリポジトリをgithubで作成したときのREADME.mdがある(githubで作成したときにREADME.md作成した場合)とpushが失敗する

対処法
https://qiita.com/kazuki0714/items/ceda3a6721a9a99082de
もう一個あったはず。

参照

サル先生のGit入門【新しいリポジトリを作成する】

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

「x分前にコミット」されたような最新pandocを,Windows 10に,万難を排して入れる!

YAMLキーnociteが,--biblatex--natbibオプションと一緒には使えない?

ことの発端は,とある書類の作成用に,要旨付き参考文献表PDFを作ろうと思ったことである。pandoc markdownを使ってそうした文献表PDFを生成するには,YAMLセクションのnociteキーに,書誌情報ファイル(私の場合は.bibファイル)のキーを@ mentionしていく。詳しいやり方は,pandocのMANUAL該当箇所を読まれたい。

しかし,現在の安定版のpandocでは,PDF生成時にbiblatexあるいはnatbibで文献を処理させるように設定すると,せっかくYAMLに書いたnociteが無視されてしまう。しかし,文献の体裁は,どうしてもbiblatexで処理しないと提出に値するものにならない(こんな仕上がりにしたい)。そのため,3年以上前に他の方が始めたもののほとんど放置状態にあったissueに重ねて,biblatexあるいはnatbibを使っていてもnociteが正しく使えるようにしてほしいとお願いした。すると,作者が早速対応してくださった

さて,最新ほやほやpandocをインストールするにはどうすればいいの?

まずは,pandocのMANUALの該当ページを見る。今回は,任意のディレクトリに,git cloneでソースをダウンロードした。

git clone https://github.com/jgm/pandoc
cd pandoc

問題はここからである。stackというプログラムでpandocをインストールせよとのことなので,Windows 64bit版のインストーラでstackをインストールしてから,Command PromptなりWindows PowerShellなりで,下記を実行する。

stack setup
stack install

作業は順調に進むかに見えた。しかし,暗雲は立ち込めるものである。x509-validationというプログラム(なんですか,これ?)のインストールのところで,インストールが止まってしまう。エラーメッセージは<stderr>: commitAndReleaseBuffer: invalid argument (invalid character)stderr...$\text{Standard Error}$ですかっ?!Rは動かしてませんよ!統計(まだ)かけてません!初めて見るえらあめっせーじなので,無視して再度stack installを叩く(普通無視しないと思います。良識のある読者諸賢は,検索なさるべきです)。すると,1回目のstack installでインストールされていなかったプログラムが,するするとインストールされる。1度目のときはProgress: x/129くらいあったものが,2度・3度と繰り返していくうちにProgress: x/6にまで減った(ええ,それくらいエラーメッセージを無視し続けたということですよ)。しかし,ついにProgressの数は,6から減らなくなった。エラーメッセージは変わらない:<stderr>: commitAndReleaseBuffer: invalid argument (invalid character)...

WindowsのCommand Prompt/Windows PowerShellの文字コードを変えれば,インストールは無事終了

<stderr>: commitAndReleaseBuffer: invalid argument (invalid character)で検索すると,WindowsのCommand Promptの文字コードを一時的に変えればインストールできるという記事を見つけた。紹介されている方法は,Windows PowerShellでも出来る。実に簡単で

chcp 65001

これだけである。反応は特になし。強いて言えば,画面の文字が小さくなった。このコマンドを打ってから,再度stack installを叩く。これで,出来立てのpandocのインストールは済んだ。最後に,

chcp 932

として,WindowsのCommand Prompt/Windows PowerShellの文字コードを戻すのが良いようだ。

インストールは落着したが

これで難関は突破した。あとは日ごろの不勉強を取り返して論文を読み,例の書類を期限内に提出するだけである汗

まだまだ,紆余曲折に終わりはない。

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