20191128のGitに関する記事は5件です。

YubiKeyでgitを利用する

YubiKeyのPIV機能を使ってYubiKey内の秘密鍵を利用できます。
事前にbrew install openscなどが必要です。

% git config --local core.sshcommand "ssh -I /usr/local/Cellar/opensc/0.19.0_1/lib/opensc-pkcs11.so"

YubiKey挿入時

% git pull
Enter PIN for 'gott':
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.

YubiKey非挿入時

% git pull
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

git push でリジェクトされた時の対処法

はじめに

githubを利用してプログラミング開発を実施されている方、およびgithubを使ってからあまり日がたっていない方が対象になるかと思います。

Githubのバージョン

$ git --version
git version 2.17.2

エラーの内容

git pushコマンドを使ってmasterブランチに修正したソースをpushしようとした際に以下のようなエラーが出ました。

//git pushコマンド
$ git push origin master

//エラー内容
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/・・・・'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.`

対象方法

色々と調べてみるとたくさん出てきましたが、一番心あたりがあるのが、
「リモートリポジトリ側の変更がローカルに反映されていない」ということが書かれていた
以下のサイトでした。

対象のリンク

以下のコマンドを実施したら上手く行きました。

$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/・・・
   c35643a..4d9b4f1  master     -> origin/master

$ git merge origin/master
Updating c35643a..4d9b4f1
Fast-forward
 index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

$ git push -u origin master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Everything up-to-date

catコマンドで修正した内容がちゃんと反映されているか確認しましたが、問題なくファイルが更新されておりました。

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

Progate Git 学習コースI(1-7) まとめメモ

Gitはターミナルで操作する。
Gitを使う準備として「git init」を実行し、リポジトリを作成する必要がある。
参考になるサイト

共同開発には三つのステップがある
step1 コードを変更する
step2 共有する準備をする
step3 共有する

共有する準備は、
1.「git add ファイル名」で共有したいファイルを選択する
2.選択したファイルを「git commit -m "メッセージ"」を実行し、メッセージ付きで記録(コミット)する
これらのことをすることで完了する。

Gitでは「リモート」という共有ファイルの置き場を使う。
リモートにファイルをアップロードしたり、リモートからファイルをダウンロードすることで、開発者同士がファイルを共有することができる、という仕組み。

リモートにアップロードするには、「git remote add リモート名 URL」で、そのリモートのURLを登録する必要がある。
リモートを登録する際、名前を付ける必要があり、一般的には「origin」とする。

「git push リモート名 master」で、登録したリモートにアップロード(プッシュ)できる。
「git pull リモート名 master」で、リモートからファイルをダウンロード(プル)できる。

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

【随時更新】理論研究者に役立つ記事まとめ

理論研究をする人のために,私のストックから適当に記事をまとめています.
私の記事も参考にしてください.

matplotlib

Git

makefile

Shellscript

TeX

その他

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

Gitチートシート

備忘録兼誰かの役に立てばと思い、Gitのチートシートを作りました。
Gitはそんなに使ったことがないので、間違っていたり、これ便利だよということがあったら、ご指摘いただけたら嬉しいです。

基本用語

リモートリポジトリ

専用のサーバに置く共有するためのリポジトリ

ローカルリポジトリ

自分の手元のコンピュータ上に配置するリポジトリ

コミット

リポジトリに変更を記録すること
もしくは変更した記録

ワークツリー

Gitの管理下に置かれた作業しているディレクトリ

インデックス

リポジトリにコミットする準備をするための場所

プッシュ

ローカルリポジトリの変更履歴をリモートリポジトリにアップロード

プル

リモートリポジトリからローカルリポジトリを更新

クローン

リモートリポジトリを複製してローカルリポジトリに

ブランチ

履歴の流れを分岐して記録していくためのもの

  • マスターブランチ
    最初に作成されるブランチ。masterという名前。

  • 統合ブランチ
    分岐したものが統合されていくブランチ

  • トピックブランチ
    課題に関する作業を行うために作成するブランチ

HEAD

現在使用しているブランチの先頭

チェックアウト

作業するブランチを切り替える

マージ

現在のブランチへ、他のブランチの更新を取り込む処理

タグ

  • 軽量タグ 名前を付けられる
  • 注釈付きタグ 名前、コメント、署名を付けられる

Gitインストール時に行う作業

ユーザー名とメアドの設定

$ git config --global user.name "<ユーザ名>"
$ git config --global user.email "<メールアドレス>"

Git Bash上で日本語を正しく表示できるようにする

$ git config --global core.quotepath off

リポジトリ作成時に行う作業

ディレクトリに移動してローカルリポジトリ作成

$ git init

リモートリポジトリを追加(originは他の名前でも可)

$ git remote add origin URL

(すでにリモートリポジトリがあるとき)ローカルリポジトリとして複製

$ git clone URL

実行コマンド

ファイルをインデックスに登録

$ git add ファイル  (スペース区切りで複数指定)
$ git add .  (こうするとすべてのファイル)

インデックスに登録後、コメントをつけてコミット

$ git commit -m "コメント"

コミット後、リモートリポジトリにプッシュ

$ git push -u origin master
二回目以降orクローンしたものは↓
$git push

リモートリポジトリからプル

$ git pull origin master

ブランチ操作コマンド

ブランチの作成

$ git branch ブランチ名

ブランチの削除

$ git branch -d ブランチ名

ブランチのチェックアウト

$ git checkout ブランチ名
$ git checkout -b ブランチ名 (作成とチェックアウトを同時に)

マージ

$ git merge ブランチ名

タグ操作コマンド

現在のHEADに軽量タグをつける

$ git tag タグ名

注釈つきタグをつける

$ git tag -am "コメント" タグ名

タグを消す

$ git tag -d タグ名

確認コマンド

ワークツリーとインデックスの状態を確認

$ git status

リポジトリの変更履歴を確認

$ git log

リポジトリの変更をより見やすく表示

$ git log --graph --oneline

タグ情報を含めた変更履歴を表示

$ git log --decorate

ブランチのリストを表示

$ git branch

現在のHEADのタグを確認

$ git tag
$ git tag -n (注釈つき)

その他の役立ちコマンド

エイリアスの設定

$ git config --global alias.短縮形 展開形

コミットからの相対位置

~(チルダ):何世代前の親かを指定する
^(キャレット):ブランチのマージで親が複数ある場合に、何番目の親かを指定する

Head~1
Head^1

参考URL

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