20210322のGitに関する記事は8件です。

git checkout コマンドを省略する

rails tutorialで学習時に

学習を進めると git checkout のコマンドが頻繁に出るようになり、省略できないかと探してたらrails tutorial冒頭にありました

terminal
$ git config --global alias.co checkout  #checkoutのエイリアス(あだ名)をcoに変更する

こういう小さいことでも効率化をするのが大事

参考にしたもの

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

Githubのssh keyを追加した時「Error: Key already in use」となった場合の対処法

ssh keyが別のアカウントで使われてる??

permission deniedでgit clone 出来ない問題は、大体SSHがGitHubに登録されていないから
:point_up:こちらの記事を参考に、ssh keyをGithubに追加しようとすると、まさかのエラー!!
スクリーンショット 2021-03-22 22.00.48.jpg

既に使われてるって、どゆことだ???

どのアカウントで使われてるか確認する

下記のコマンドを実行する

MacBook-Pro:.ssh gen$ ssh -T -ai ~/.ssh/id_rsa git@github.com
Enter passphrase for key '/Users/gen/.ssh/id_rsa': 
Hi anotherUserName! You've successfully authenticated, but GitHub does not provide shell access.

もしアカウントに紐付けられてるならanotherUserNameの部分に、あなたのssh keyが追加されてるGithubアカウントのusernameが表示されます。

もしリポジトリーのdeploy keyとして紐付けられているのなら、anotherUserName/repoとなるようです。

私の場合、共同で個人開発をしてる友達のGithubアカウントが表示されたので、彼にLINEで「俺のssh key削除して」と伝えるだけで解決しました。。。

どうやらPCを買い替えてから自分のGithubアカウントに追加する前に、友達のアカウントに追加してしまってたようです:sweat_smile:

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

【Git】HEADとは何か

プログラミング勉強日記

2021年3月22日

HEADとは

 現在のブランチの最後のコミットの代名詞のこと。現在使用しているブランチの先頭を表す。デフォルトではmasterの先頭を表していて、HEADが移動することで使用するブランチが変更される。

HEADの使い方

 コミットを指定するときに~(チルダ)と^(キャレット)を使って、あるコミットからの相対位置で指定することもできる。~を後ろに書くと行くつ前の親かを指定することができ、^はブランチのマージがオヤッが複数ある場合に何番目の親化を指定できる。

最後にコミットした内容を見る方法
$ git show HEAD
最後の1つ前のコミットを見る方法
$ git show HEAD^
最後の2つ前のコミットを見る方法
$ git show HEAD^^
$ git show HEAD~2

参考文献

Git初心者に捧ぐ!Gitの「これなんで?」を解説します。
ブランチの切り替え

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

Git cherry-pickを実行する 個人メモ

目的

  • cherry-pickの実行方法をまとめる

方法

  • コミットを取り込みたいブランチに移動して下記コマンドを実行する。

    $ git cherry-pick 取り込みたいコミットID
    
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

必要のないgit branchをまとめて消す

今いるbranch以外を削除

git branch | grep -Ev "\*" | xargs git branch -D

"\*" の部分は正規表現なのでよしなに変えて好きな分だけまとめてけせる

今いるbranchとmaster以外を削除

git branch | grep -Ev "\*|master" | xargs git branch -D

何が消されるのか不安な場合は一旦xargsまでパイプせずに一覧を一度確認してから消すと良い

手順 e.g.

$ git branch | grep -Ev "\*|master"
  feature/hoge
  feature/piyo
  feature/fuga
  feature/foo
  release/1.1.5
  release/1.1.6
  hotfix/bar
$ git branch | grep -Ev "\*|master" | xargs git branch -D
Deleted branch feature/hoge (was 3bd5eea).
Deleted branch eature/piyo (was 80e69e8).
Deleted branch feature/fuga (was 6da1976).
Deleted branch feature/foo (was 383d32d).
Deleted branch release/1.1.5 (was d26a1fa).
Deleted branch release/1.1.6 (was 0a24c89).
Deleted branch hotfix/bar (was 92840a7).
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

HTMLテンプレートをgit cloneして新しいプロジェクトとしてpushしたい

やりたいこと

ウェブサイトを制作するとき、毎回ファイルを一から準備するのは面倒です。

そこで、githubにHTMLテンプレートのリポジトリを作っておき、プロジェクトのごとにgit cloneして新しいリモートリポジトリに複製利用できたら便利だなと思ったのでメモします。

なお、エディタはVSCodeを使用しています。

手順

大まかな流れです。

名称未設定.png

  1. HTMLテンプレートリポジトリを準備
  2. git cloneでローカルにコピー
  3. Githubに新規プロジェクトリポジトリを作り、URLをコピー
  4. git remote set-url originでローカルにコピーしたリポジトリのremote URLを変更
  5. 新規プロジェクトリポジトリにpush

↓↓↓

githubにHTMLテンプレートリポジトリを準備し、今後これを使いまわすこととします。

2021-03-22_04h10_00.png

中身はこんな感じでVSCode用にGulpでタスクを組んでいます。

2021-03-22_04h10_41.png

ターミナルでHTMLテンプレートをgit cloneします。

$ git clone <remote URL>

githubで新規プロジェクトのリモートリポジトリを作り、リモートURLをコピーします。

2021-03-22_04h36_45.png

ローカルリポジトリのリモートURLを変更します。

$ git remote set-url origin <new remote URL>

以下のコマンドでリモートリポジトリの名前とURLが変わっているのが確認できれば成功です。

$ git remote -v

pushして新しいリモートリポジトリを更新しましょう。

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

Githubに保存したHTMLテンプレートを開発ごとにcloneして複製利用したい

やりたいこと

ウェブサイトを制作するとき、毎回ファイルを一から準備するのは面倒です。

そこで、githubにHTMLテンプレートのリポジトリを作っておき、プロジェクトのごとにgit cloneして新しいリモートリポジトリに複製利用できたら便利だなと思ったのでメモします。

なお、エディタはVSCodeを使用しています。

手順

大まかな流れです。

名称未設定.png

  1. HTMLテンプレートリポジトリを準備
  2. git cloneでローカルにコピー
  3. Githubに新規プロジェクトリポジトリを作り、URLをコピー
  4. git remote set-url originでローカルにコピーしたリポジトリのremote URLを変更
  5. 新規プロジェクトリポジトリにpush

↓↓↓

githubにHTMLテンプレートリポジトリを準備し、今後これを使いまわすこととします。

2021-03-22_04h10_00.png

中身はこんな感じでVSCode用にGulpでタスクを組んでいます。

2021-03-22_04h10_41.png

ターミナルでHTMLテンプレートをgit cloneします。

$ git clone <remote URL>

githubで新規プロジェクトのリモートリポジトリを作り、リモートURLをコピーします。

2021-03-22_04h36_45.png

ローカルリポジトリのリモートURLを変更します。

$ git remote set-url origin <new remote URL>

以下のコマンドでリモートリポジトリの名前とURLが変わっているのが確認できれば成功です。

$ git remote -v

pushして新しいリモートリポジトリを更新しましょう。

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

Self-HostedなGitLabへSSH接続可能にする

目的 自前のVPSなどへSelf-HostedされたGitLabにSSHで接続したい。 手順の殆どはGitHub.comと同じです。 現在のSSH鍵の状況を確認 $ ls -la ~/.ssh ... config ... id_ed25519_github ... id_ed25519_github.pub ... known_hosts これらと被らないように鍵名をつける 鍵作成 今回はRSAで作成 $ cd ~/.ssh $ ssh-keygen -t rsa -b 4096 -C "your_email_address@example.com" -f "ssh-key_filename" 例えば $ ssh-keygen -t rsa -b 4096 -C hoge@fuga.com -f id_rsa_gitlab_yourname Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in id_rsa_gitlab_username Your public key has been saved in id_rsa_gitlab_username.pub The key fingerprint is: SHA256:7RhE9TbDGMfyTWQ1H4IpmiMQp/mr7GM+YjfGIAr9qDk hoge@fuga.com The key's randomart image is: +---[RSA 4096]----+ | ... ..o.+oo+.| | .+ . ..O..o +| | o. + oo*o .| | .. = . ..o. | | . .. S . | |o.. . + | |+ oo . . . | |E+oOo | |+oB=+ | +----[SHA256]-----+ ssh configの編集 $ vim ~/.ssh/config SSH鍵のファイル名をデフォルトから変更しているので、 ~/.ssh/config にて下記のように記載 Host your-host-name.com HostName your-host-name.com IdentityFile ~/.ssh/id_rsa_gitlab_yourname User git GitLab側で公開鍵を登録 GitLabでSSH接続したいユーザーでログイン 画面右上(?) の Profile Settings => SSH Keys と入っていく サーバー内のSSH公開鍵をコピーしてGitLabのSSH鍵登録欄にペースト。 名前は適当につけておく。 $ xclip -selection c id_rsa_gitlab_yourname.pub 接続テスト GitLabに接続できているかチェック $ ssh -T git@your-host-name.com と入力して Welcome to GitLab! などと表示されれば接続が成功しているのでOK 参考 https://qiita.com/suthio/items/2760e4cff0e185fe2db9
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む