- 投稿日:2020-05-26T18:45:41+09:00
【Rails】ローカルのファイルをリモートロポジトリに上げない為のコマンド
環境
Mac OS
Rails5.2.4ローカルで使用しているファイルをリモートリポジトリ(例:Github等)に上げない様にする方法
terminaltouch .gitignore
.gitignore
という名前のファイルをtouchコマンドで作成。作成場所は一番先頭のディレクトリー(Gemfileが置いてあるディレクトリ)にする。
このファイルに、リモートリポジトリには上げたくないファイルのパスを記載。
(画像を保存しているフォルダやパスワード等個人情報が記載されているファイルなどが対象となるかと
思います。)すでにリモートリポジトリにpushしてしまったファイルをリモートリポジトリから削除・取り消したい場合
terminalgit rm -r --cached 【削除したいファイル名】これで指定したファイルが、リモートから消えているはずです!
- 投稿日:2020-05-26T16:02:33+09:00
[rails]過去にフォークしたレポジトリを最新にしたい
具体的な方法は下記漫画を参考にしました。
- 投稿日:2020-05-26T14:40:35+09:00
[rails]共同開発で苦労した点
苦労した点のメモ書き。
margeができない
プルリクエストも作成できており、削除もできるのに
margeボタンだけなかった。【原因】
共有するための「collaborators」が、うまくできていなかった。参考:
Githubのプロジェクト(オリジナル・リポジトリ)を複数人で共有する(Collaborators権限)コンフリクトに戸惑う
一番初めは何をどうすればいいのかわからない。
開発が進むと、コンフリクトは起きているのにボタンが押せない、、、対応策は下記に記載(ローカルでマスターを取り込む事で解決)
→https://qiita.com/ki-ku/items/1416795cdaac7b7545ae
- 投稿日:2020-05-26T14:40:35+09:00
[rails]共同開発で苦労した点:github編
苦労した点のメモ書き。
margeができない
プルリクエストも作成できており、削除もできるのに
margeボタンだけなかった。【原因】
共有するための「collaborators」が、うまくできていなかった。参考:
Githubのプロジェクト(オリジナル・リポジトリ)を複数人で共有する(Collaborators権限)コンフリクトに戸惑う
一番初めは何をどうすればいいのかわからない。
開発が進むと、コンフリクトは起きているのにボタンが押せない、、、対応策は下記に記載(ローカルでマスターを取り込む事で解決)
→https://qiita.com/ki-ku/items/1416795cdaac7b7545ae
- 投稿日:2020-05-26T14:26:40+09:00
【自分用学習メモ・備忘録】Git
基本用語
共同開発の流れ
コード変更→共有する準備→共有
- git init /initialize(初期化)Gitを使うとき初めに実行する
- git add 変更のあるファイル名 /共有するファイル選択
- git commit -m "コミットメッセージ" /メッセージ付きで記録→どんな内容かわかるように
- git remote add リモート名(大体origin) URL /リモート(共有場所)を登録
- git push リモート名 master /リモートにファイルをアップロード→プッシュという!
git pull リモート名 master /リモートからファイルをダウンロード→プルという!
git status /自分が変更したファイルのファイル名を表示 (addされたものは緑色、されてないものは赤色の文字色)
git diff /変更内容を見る (変更前は赤色、変更後は緑色の文字色)
git log /自分や他人のコミットを確認できる
git log -p /自分や他人の変更内容がみれる
その他
- git log -pを実行した際、表示内容が多いときは上下キーで表示範囲変更、Qキーで終了
- 投稿日:2020-05-26T14:13:35+09:00
開発準備 git
GitHub 接続
commit
してpush
するまで
- GitHub 登録
- SSH 公開鍵 作成
- GitHub 公開鍵 登録
- gitリポジトリ 登録
- .gitconfig 設定
- git 初期化
- (merge &) commit & push
1. GitHub 登録
いわずもがな、省略。
2. SSH 公開鍵 作成
https://qiita.com/shizuma/items/2b2f873a0034839e47ce を参考に作業
(引用)$cd ~/.ssh $ssh-keygen -t rsa問いかけられるけど3回Enterを押してスルーすると鍵を生成完了
3. GitHubに公開鍵を登録
- 「https://github.com/settings/keys」
- 「title」に公開鍵名
id_rsa.pub
、「key」に公開鍵の中身を入れる- 中身はメモ帳で開いてコピペでOK
接続確認!
$ ssh -T git@github.com Hi YKHSJP! You've successfully authenticated, but GitHub does not provide shell access.OK!
4. gitリポジトリ 登録
リポジトリのディレクトリに移動して
$ git remote set-url origin git@github.com:YKHSJP/study.gitと登録(
:YKHSJP/study.git
は自身の値)
config
を確認する$ git config remote.origin.url git@github.com:YKHSJP/study.git // OK5.
.gitconfig
設定cd ~/.gitconfig
[user] name = {last name} {family name} email = {email}6. git 初期化
ディレクトリに移動して
$ git init Initialized empty Git repository in C:{path}.git7. (merge &) commit & push
とても詰まった所。
push ができない問題。
解決してくれたのはやはり他Qiitaページでした。本当感謝。
https://qiita.com/takanatsu/items/fc89de9bd11148da1438$ git merge --allow-unrelated-histories origin/master Not committing merge; use 'git commit' to complete the merge. $ git commit -m "first commit" [master c16f5ca] first commit $ git push origin masterやっと push 完了!?
- 投稿日:2020-05-26T12:43:34+09:00
よく使うgitコマンド
gitコマンド
branch関係
git checkout -b ブランチ名
新規ブランチを作成
git checkout ブランチ名
指定ブランチに切り替え
git branch -D ブランチ名
指定ブランチ削除
git branch -m ブランチ名旧 ブランチ名新
ブランチ名の変更
git reset --hard HEAD
現ブランチの編集履歴削除
git checkout .
現ブランチを優先
git rebase ブランチ名
処理を作り直す
既存のコミットへ影響を与えるadd関係
git add -u
既存ファイルのみadd+上位ディレクトリにも対応するcommit関係
git commit -u
既存ファイルのみコミット+上位ディレクトリにも対応するmerge関係
git merge --no-ff ブランチ名
差分をマージ
fast-forwardしないのでマージコミットされて分岐の履歴が残る
git reset --hard HEAD
merge取り消し
指定されたコミットの時点に戻り、それ以降の変更を全て破棄
git fetch
リモート・リポジトリなど他のリポジトリのデータを取得するもの
サーバーとの同期
- 投稿日:2020-05-26T11:29:04+09:00
Herokuにデプロイするための高速チートシート(RubyOnRails)
概要
gitを使ってHerokuにデプロイする方法を簡潔にまとめました。
主にチートシートとしてのご利用をオススメします。・デプロイ(*新規)
・デプロイ(二回目以降)*ここでいう新規とは、新しくアプリケーションを作った場合のことを指します。
実行環境
筆者の実行環境は以下の通りです。
・Cloud9
・Rails version: 6.0.3.1
・Ruby version: ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]デプロイ(新規)
下準備
$ rails new sample_app : 'アプリを作る' $ cd sample_app : 'ディレクトリの移動'gitによるレポジトリ作成
$ git init : '「.git」ファイルの作成' $ git add -A : '全てのファイルをaddする' $ git commit -m "メッセージ" : 'commitするGemファイルの変更
herokuを利用するにあたり、使うデータベースを変更する必要があります。
sqlite3 → PostgreSQL変更前######################## ######################## gem 'sqlite3', '~> 1.4' ######################## ########################変更後############################ ############################ group :development, :test do ########################## gem 'sqlite3', '~> 1.4' end ############################ ############################ group :production do gem 'pg', '>=1.1.4' endレポジトリをHerokuにデプロイする
$ source <(curl -sL https://cdn.learnenough.com/heroku_install) : 'herokuのインストール' $ heroku login --interactive : 'ターミナル上でHerokuログイン' $ heroku create : 'Herokuに新しいアプリケーションを作る' $ git push heroku master : 'Herokuにデプロイする' $ heroku run rails db:migrate : 'Heroku上でデータベースマイグレーションを実行する(必要があれば)'デプロイ(二回目以降)
gitにcommitする
$ git add -A : '全てのファイルをaddする' $ git commit -m "メッセージ" : 'commitするherokuにデプロイする
$ git push heroku $ heroku run rails db:migrate : 'Heroku上でデータベースマイグレーションを実行する(必要があれば)'参考文献
railsチュートリアル6.0(第1章)
- 投稿日:2020-05-26T00:22:43+09:00
gitでssh接続する際にBad configuration option: usekeychainやterminating, 1 bad configuration optionsとエラーが出たときの解決方法
前提
・sshの公開鍵、秘密鍵を取得済み
使用する秘密鍵をconfigファイルに書く
### vimを立ち上げて~/.ssh/configを編集する。 $ vi ~/.ssh/config -> configファイル内に下記内容を追記する。 #------------------- Host github HostName github.com IdentityFile ~/.ssh/id_rsa User git #------------------- -> 追加後はescキー押したあとに:wqで保存します。接続確認
こちらのコマンドで接続できているか確認できます。
$ ssh -T git@github.com
エラーの原因
私の場合は下記内容があるためにエラーになっていました。
同じ様にエラーになる場合は削除してから上記の内容を記載すると問題なく動作するかと思います。Host * AddKeysToAgent yes UseKeychain yes -> エラー /home/vagrant/.ssh/config: line 3: Bad configuration option: usekeychain /home/vagrant/.ssh/config: terminating, 1 bad configuration options[※補足]AddKeysToAgentとUseKeychainとは何か
私の場合は削除してしまいましたが、あっても動くこともあるようなので、何をしているのか一応調べました。
AddKeysToAgentをyesにすることで、-Kオプションをつけなくてもssh-addの時やsshの時に強制的にパスフレーズがMacOSに保存されます。
また、UseKeychainをつけることで、ssh-agentを利用していなくても、MacOSに保存されたパスフレーズで自動的に~/.ssh/id_rsaなどを複合化してくれるようです。参考
・https://qiita.com/GakuNaitou/items/81dbbd3ea6211af71648
・https://qiita.com/onokatio/items/397a5899a0ec16c7e60a