- 投稿日:2020-07-07T22:25:56+09:00
Gitを使い始める時のHTTPSでの認証情報の設定
この記事を読むとわかること
HTTPSでGitHubリポジトリをクローンする場合、MacOSXにおいて、バージョン1.7.10以降のGitではosxkeychain資格情報ヘルパーが使える。これを使うと、OSのキーチェーンにOSのユーザーアカウントの認証情報がキャッシュされ、有効期限切れもない。これで資格情報を変更しない限り、接続のたびに認証情報の入力が不要になる。
ちなみにHomebrewを使用してGitをインストールした場合、osxkeychainヘルパーはすでにインストールされている。前提条件
OSバージョン: macOS Mojave Version 10.14.6
homebrewがインストール済みであること
gitバージョン: 2.27.0手順
1. Gitの認証情報ヘルパーがすでにインストール済みかを確認する
$ git credential-osxkeychain usage: git credential-osxkeychain <get|store|erase>上記のように出力されればインストール済み。
上記のような表示と違う場合はGitのマニュアルのこのページの手順2を実行して認証情報ヘルパーをインストールする。2. グローバルcredential.helper構成を使用してosxkeychainヘルパーを使用するようGitに指示する
$ git config --global credential.helper osxkeychain $終わり。
参考情報
Cloning with HTTPS URLs (recommended) (docs.github.com)
Caching your GitHub credentials in Git (docs.github.com)
- 投稿日:2020-07-07T18:32:30+09:00
git patch の事
//TODO
パッチの作り方git diff新しい方法なのでなるべくこちらを使おうよって
git format-patchmbox形式
パッチ適用する方法
こちら、成功する場合だけ適用される。エラーがあると適用できない。
git applygit applyで問題があるので適用できない、
patchコマンドを使う、エラーがあっても実行編集されるので、中途半端な状態になる可能性がある。
patch -p1 < xxx.patch
課題
patch
よりgit apply
を使うのがよいのでパッチのエラーが修正できるならそのほうがいい・・・。例)
error: patch failed: <ファイル名>:<行>
error: <ファイル名>: patch does not applyパッチファイルを編集して問題が起きるケースもある。
- 投稿日:2020-07-07T17:57:33+09:00
初めてプロジェクトに参加する人向け Gitクローンからプルリクエストまで
初めてプロジェクトに参加してGitHubからクローンして、作業をしてプルリクエストを送るまでの一連の流れをまとめました。
GitHubにアクセスしてクローンする
まずはプロジェクトのURLにアクセスします。
URLにアクセスしたらまずはforkをしておきます。
forkとは他人のリモートリポジトリを自分のアカウントにコピーすることです。forkは画面の右上に画像のようなボタンがあるのでそれをクリックします。
forkが済んだらクローンしてみます。
$ git clone <URL(これはリモートリポジトリのURL)>ローカルリポジトリを作成
まずはクローンしてきたディレクトリに移動します。
次のコマンドでリポジトリを作成します。
$ git init次にリモートリポジトリを追加します。
$ git remote add <追加するリポジトリ名> <追加するリポジトリURL>GitHubアカウントを登録します。
$ git config --global user.name <ユーザー名>$ git config --global user.email <メールアドレス>ブランチ
ブランチとはGit の変更履歴を分岐させて記録していくものです。
本番用のmasterブランチにいきなり変更を加えることを避けるために開発用のブランチを用意します。以下のコマンドで新規のブランチを作成します。
$ git branch <ブランチ名>次のコマンドで作成したブランチに移動できます。
基本的にはここで作成したブランチで作業を進めていくことになると思います。$ git checkout <ブランチ名>次のコマンドで作成したブランチの一覧が表示できたら成功です。
$ git checkoutコミット
先ほど作成したブランチで作業を行ったらその変更履歴を記録する必要があります。
それを記録する作業をコミットと呼びます。コミットに先立って、まずはコミットするファイルを選択する作業であるアッドを行います。
$ git add <コミットしたいファイル名>変更を全てステージするには以下のコマンド
$ git add .アッドが完了したら、変更内容の確認を行う。
以下のコマンド実行することでアッドされているファイルを確認できる。$ git status次のコマンドでファイルの変更箇所を確認できます。
$ git diff最後に
$ git commit -m <コミットメッセージ>でコミットが終わります。
プッシュ
変更した履歴をリモートリポジトリにアップロードすることをプッシュと呼びます。
$ git push リポジトリ名 ブランチ名コマンドを実行すると完了です。
ブランチ名はheadを選択すると自分がいるリポジトリを選択できるので便利です。プルリクエスト
最後にプルリクエストをします。
自分の行った変更を他のメンバーに通知します。
プロジェクトのURLにアクセスし、画像にあるプルリクエストをクリックします。
あとは画面の指示にしたがって行けば完成です。
- 投稿日:2020-07-07T16:41:35+09:00
CentOS7(yum)でGitの2系をインストールする
- 投稿日:2020-07-07T11:59:22+09:00
インターン日記
やること
いきなりデザインナーが作ったUIを実装してと頼まれる、、、
ほんまにいきなりやなあ。
ざっくりどこにでもあるメンバーの一覧とかみれたり検索できたりするやつ。
とりあえずReactでやりますか。git環境
mac proでpushとかやっていたのに、謎にpullできないというトラブル。
結局公開鍵を自分のアカウントに登録すれば解決。
あれ?前できていたよなあ?
ちなみにgitで使用している認証は公開鍵認証。
公開鍵と秘密鍵をペアで作って、公開鍵をサーバへ渡しておく。
認証時に秘密鍵で暗号化したものは渡しておいた公開鍵で復号できるから、その人だよねってわかるっていう仕組み。macだとユーザーディレクトリの.sshにあるid_rsa.pubが公開鍵。catなんかで出力してコピペでgitに登録してあげればOK。
react環境構築
早速react環境を作りましょー。
create-react-appを使ってあげれば超簡単にreact環境ができるよねfacebookさんありがとう。
ただ、ここで沼にハマった。
何かのトラブルでディレクトリに不足があった。(あとで気付く)
通常のディレクトリ構成だとすぐにnpm startでローカルサーバが立ち上がるが、エラーとなる。
ファッ!?!?
しかも、gitにpushしてしまったから最悪だわ、、、
何回かやり直したら、通常のディレクトリのものができた。
何が原因なのか??ネットワークトラブル????
とりあえず、それらのファイルをgitで管理している方にコピペして解決。reactでのcss
reactでcssを使うにはcss moduleを使ってあげればok
詳しくは以下参照
https://kapu-kapu.hatenablog.com/entry/2018/11/19/132655create-react-appでのimgのパスについて
通常通り、imgのsrcにファイルのディレクトリ構成の相対パスを書いてもどーも画像が表示されない。
なんでだろうと調べたところ、create-react-app公式にやり方が書いていました。
要は、画像ファイルもモジュールとして読み込みましょうねってこと。
https://create-react-app.dev/docs/adding-images-fonts-and-files/
- 投稿日:2020-07-07T11:59:22+09:00
インターン日記(07/06)
やること
いきなりデザインナーが作ったUIを実装してと頼まれる、、、
ほんまにいきなりやなあ。
ざっくりどこにでもあるメンバーの一覧とかみれたり検索できたりするやつ。
とりあえずReactでやりますか。git環境
mac proでpushとかやっていたのに、謎にpullできないというトラブル。
結局公開鍵を自分のアカウントに登録すれば解決。
あれ?前できていたよなあ?
ちなみにgitで使用している認証は公開鍵認証。
公開鍵と秘密鍵をペアで作って、公開鍵をサーバへ渡しておく。
認証時に秘密鍵で暗号化したものは渡しておいた公開鍵で復号できるから、その人だよねってわかるっていう仕組み。macだとユーザーディレクトリの.sshにあるid_rsa.pubが公開鍵。catなんかで出力してコピペでgitに登録してあげればOK。
react環境構築
早速react環境を作りましょー。
create-react-appを使ってあげれば超簡単にreact環境ができるよねfacebookさんありがとう。
ただ、ここで沼にハマった。
何かのトラブルでディレクトリに不足があった。(あとで気付く)
通常のディレクトリ構成だとすぐにnpm startでローカルサーバが立ち上がるが、エラーとなる。
ファッ!?!?
しかも、gitにpushしてしまったから最悪だわ、、、
何回かやり直したら、通常のディレクトリのものができた。
何が原因なのか??ネットワークトラブル????
とりあえず、それらのファイルをgitで管理している方にコピペして解決。
- 投稿日:2020-07-07T11:52:37+09:00
GitHubのremoteにpushする
はじめに
- Mac OS
- Gitインストール済み。
- GitHubアカウントは登録済み。
- 管理したいプロジェクトはHelloWorldレベルで実装済み。
という状態からリモートリポジトリへPushするまでの手順を残します。
やったこと
1.ローカルリポジトリを作成する
既存フォルダをGit管理対象に設定
$ cd ソースコードが入っているフォルダのパス $ git init $ ls -a . .eslintignore .postcssrc.js index.html src .. .eslintrc.js README.md node_modules static .babelrc .git build package-lock.json test .editorconfig .gitignore config package.json
.git
が存在するようになればOKです。commitする
ソースコードはまだpushしたくないので、空コミットを行います。
$ git commit --allow-empty -m "first commit"$ git log Committer: 本名 <本名のMacBook-ea.local> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file: git config --global --edit After doing this, you may fix the identity used for this commit with: git commit --amend --reset-authorユーザー名とEmailアドレスを設定していませんでした。。
以下のコマンドで設定。$ git config --global user.name "設定したい名前" $ git config --global user.email 設定したいアドレス@example.com2.GitHubと連携する
リモートリポジトリの作成
自分のGitHubアカウントから
New
ボタンでリポジトリを作成します。
以下の入力を行います。
- Repository name
- Description
- Public / Private (今回はPublicにしました)
- Initialize ~~ (今回はすでにREADME.mdのファイルが存在していたのでチェックを外しました)
リモートに反映する
方法はいくつか提示されています。
- Quick setup
- コマンドラインでローカルリポジトリを作成
- 既存リポジトリをPushする
- 他リポジトリからソースコードを取得
今回は「既存リポジトリをPushする」を実施します。
Pushする
# ローカルリポジトリにリモートリポジトリのURLを知らせる $ git remote add origin git@github.com:{user name}/{repository name}.git # ローカルリポジトリに紐づいているリモートリポジトリのURLを表示する $ git remote -v origin git@github.com:{user name}/{repository name}.git (fetch) origin git@github.com:{user name}/{repository name}.git (push)$ git push -u origin master git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.???
どうやら公開鍵・秘密鍵を生成してGitHubに登録する必要があるみたいです。公開鍵・秘密鍵を生成
公式 Connecting to GitHub with SSH
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
こちらの手順を参考にしました。実施したコマンドをまとめると
# 鍵を入れるフォルダに移動 $ cd ~/.ssh # 生成されている鍵を確認 $ ls known_hosts # 鍵を作成 $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/{user name}/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/{user name}/.ssh/id_rsa. Your public key has been saved in /Users/{user name}/.ssh/id_rsa.pub. The key fingerprint is: The key's randomart image is: # 鍵の中身をクリップボードにコピー $ pbcopy < ~/.ssh/id_rsa.pubSetting > SSH and GPG keys からコピーした鍵情報を登録します。
(再)Pushする
$ git push -u origin master Warning: Permanently added the RSA host key for IP address 'xx.xx.xx.xx' to the list of known hosts. Enumerating objects: 2, done. Counting objects: 100% (2/2), done. Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done. Total 2 (delta 0), reused 0 (delta 0) To github.com:{user name}/{repository name}.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.成功しました!
助けてもらったサイト
- 投稿日:2020-07-07T11:52:37+09:00
GitHubにpushする
はじめに
- Mac OS
- Gitインストール済み。
- GitHubアカウントは登録済み。
- 管理したいプロジェクトはHelloWorldレベルで実装済み。
という状態からリモートリポジトリへPushするまでの手順を残します。
やったこと
1.ローカルリポジトリを作成する
既存フォルダをGit管理対象に設定
$ cd ソースコードが入っているフォルダのパス $ git init $ ls -a . .eslintignore .postcssrc.js index.html src .. .eslintrc.js README.md node_modules static .babelrc .git build package-lock.json test .editorconfig .gitignore config package.json
.git
が存在するようになればOKです。commitする
ソースコードはまだpushしたくないので、空コミットを行います。
$ git commit --allow-empty -m "first commit"$ git log Committer: 本名 <本名のMacBook-ea.local> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file: git config --global --edit After doing this, you may fix the identity used for this commit with: git commit --amend --reset-authorユーザー名とEmailアドレスを設定していませんでした。。
以下のコマンドで設定。$ git config --global user.name "設定したい名前" $ git config --global user.email 設定したいアドレス@example.com2.GitHubと連携する
リモートリポジトリの作成
自分のGitHubアカウントから
New
ボタンでリポジトリを作成します。
以下の入力を行います。
- Repository name
- Description
- Public / Private (今回はPublicにしました)
- Initialize ~~ (今回はすでにREADME.mdのファイルが存在していたのでチェックを外しました)
リモートに反映する
方法はいくつか提示されています。
- Quick setup
- コマンドラインでローカルリポジトリを作成
- 既存リポジトリをPushする
- 他リポジトリからソースコードを取得
今回は「既存リポジトリをPushする」を実施します。
Pushする
# ローカルリポジトリにリモートリポジトリのURLを知らせる $ git remote add origin git@github.com:{user name}/{repository name}.git # ローカルリポジトリに紐づいているリモートリポジトリのURLを表示する $ git remote -v origin git@github.com:{user name}/{repository name}.git (fetch) origin git@github.com:{user name}/{repository name}.git (push)#リモートのmasterブランチにPush $ git push -u origin master git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.???
どうやら公開鍵・秘密鍵を生成してGitHubに登録する必要があるみたいです。公開鍵・秘密鍵を生成
公式 Connecting to GitHub with SSH
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
こちらの手順を参考にしました。実施したコマンドをまとめると
# 鍵を入れるフォルダに移動 $ cd ~/.ssh # 生成されている鍵を確認 $ ls known_hosts # 鍵を作成 $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/{user name}/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/{user name}/.ssh/id_rsa. Your public key has been saved in /Users/{user name}/.ssh/id_rsa.pub. The key fingerprint is: The key's randomart image is: # 鍵の中身をクリップボードにコピー $ pbcopy < ~/.ssh/id_rsa.pubGitHubの Setting > SSH and GPG keys からコピーした鍵情報を登録します。
(再)Pushする
$ git push -u origin master Warning: Permanently added the RSA host key for IP address 'xx.xx.xx.xx' to the list of known hosts. Enumerating objects: 2, done. Counting objects: 100% (2/2), done. Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done. Total 2 (delta 0), reused 0 (delta 0) To github.com:{user name}/{repository name}.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.成功しました!
助けてもらったサイト
- 投稿日:2020-07-07T10:38:52+09:00
Gitのわからない初心者(疑問編)
おことわり
この記事は初心者が読んでも疑問が解決される事はありません。共感できることはあるかもしれませんが。Qiitaや他の技術ブログ、動画などを拝見して、自分が感じた疑問や感想、疑問点を投げかけるだけです。なのでむしろ「自分はGitを使ってるぜ!」「Gitのことなら俺に任せろ!」そんな人に読んでもらいたいです。
著者はWindowsPCしか持っていないため、Linux、Macについてはわかりません。初心者がわからないこと
GitとGitHubって一緒じゃないの?
初心者に結構あることだと思います。GitとGitHubがごっちゃになっているのです。もちろんベテランの方々は当たり前じゃんと思うかもしれません。
しかし、初心者はそのことがわかりません。GitはGit、GitHubはGitHubという認識がありません。Gitってコマンドじゃないと動かないの?
初心者にとってコンソールで動くアプリケーションはGUIアプリケーションで有ることが当然、当たり前です。「コマンドプロンプト?なにそれ?」な人も多いです。
環境変数PATHって何?
初心者にとってアプリケーションはインストールしたら動くものです。PATHが通ってるかなんてものは気にしません。なので「インストールしたのに動かない」ということを言うのです。
リポジトリ、コミット、ステージングなどなどって何?
Gitを使う際は上に挙げたような用語が多く出てきます。初心者はその用語そのものが分かりません。用語はどんな動作なのか、なんのためにするのか知りたいのです。
おわりに
ひとまず、自分がGitを使う上で疑問に感じたことを書きました。
友人知人の反応如何によっては追記します。後々解決編を書く予定です。乞うご期待!!