20190701のGitに関する記事は6件です。

GitHub リポジトリの作成方法

新規作成したアプリのリポジトリをGitHub上で作る

まずは、アプリの作成(今回はデータベースにポスグレを使用)

$ rails new (アプリ名) -d postgresql

GitHubにアクセス

①new repositoryボタンを押す。

②リポジトリ名を決めて、Create repositoryボタンを押す。

GitHubとローカルをSSH接続

SSHという認証技術を使用して、GitHubとローカルをSSH接続する。
⇨セキュリティの脆弱性の観点から、一般的には公開鍵認証方式を使用。
(ここで、公開鍵秘密鍵という概念が出てくるが、ここでは説明は割愛)

SSH keyの作成

$ ssh-keygen -t rsa -C "GitHubに登録した自分のメールアドレス"

Overwrite (y/n)?の箇所で、yを入力しEnterを押すと、秘密鍵と公開鍵が作成される。
id_rsaというファイルが秘密鍵で、id_rsa.pubが公開鍵。

公開鍵の登録とGitHubとの接続確認

公開鍵をGitHubに登録する。
catコマンドを使用するとファイルの中身が確認できるので…

$ cat ~/.ssh/id_rsa.pub

上記コマンドを実行すると、ssh-rsaから始まり、自分のメールアドレスで終わる長い文字の羅列が表示される。「ssh-rsa」からメールアドレスの末尾までをすべてコピー。

GitHub上に公開鍵を置く

①ヘッダ右上の自分の画像をクリックして、settingをクリック。

SSH and GPG keysをクリックし、さらにNew SSH Keyをクリック。

スクリーンショット 2019-07-01 22.30.46.png

keyのところにコピーした公開鍵の中身を貼り付ける。

スクリーンショット 2019-07-01 22.34.07.png

GitHubとの接続が正常にできているか確認

# 接続確認コマンド
$ ssh -T git@github.com
# 接続結果
Hi (GitHubの登録名)! You've successfully authenticated, but GitHub does not provide shell access.

このように表示されたら、基本的には接続成功!!!

GitHubのリポジトリにソースコードを送信する

GitHubリポジトリの送り先SSHプロトコルURLを取得

ローカル上で、送り先のSSHプロトコルURLをGitHubからコピー。
(SSHプロトコルURLは、git@から始まる。
httpsから始まるURLは、パスワード認証方式でアクセスすることになる。)

GitHubのリポジトリを登録する

ローカル上で、GitHubリポジトリの送り先SSHを登録する。
⇨git remote addコマンドを使用。

$ git remote add origin(=省略名) (コピーしたSSHプロトコルURL)
$ git remote -v
# 送り先SSHの確認例
origin  git@github.com:〜 (fetch)
origin  git@github.com:〜 (push)

git pushコマンドの利用

登録したリモートリポジトリ(GitHubリポジトリ)に、ソースコードを送信する。

$ git push origin(=省略名) ブランチ名

⬇︎こうするとmasterブランチへコードが送信される。

$ git push origin master

…以上が、ローカル環境下で書いたソースコードを、作成したリポジトリに送信する流れ

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

【Git】リベース(rebase) でコンフリクトした時の対処法

git rebase でコンフリクトした時の対処
1. コンフリクトしたファイルのコンフリクト部分を修正する
2. 修正が完了したら修正したファイルを git add でステージング環境にあげる
3. git rebase --continue でrebase を続行する

もしよくわかんなくなったら git rebase --abort でリベース自体を取り消すことができる。

もうリベースが怖くない

参考

https://fuqda.hatenablog.com/entry/2018/08/29/210526

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

Macを手に入れてからgit completion bashとgit promptを使えるようになるまで

概要

Macを購入したら待ち受けている数多くの初期設定。
GUIツール以外にも、CLIで使う系のものは骨が折れますよね。

そんな中で、毎回git completion bashとgit promptに関しては調べてやっていたのでメモ書きとして。

各ツールの概要

git completion bashとは

Gitコマンドの補完を効かせてくれるやつです。
途中まで入力したブランチ名とかをTABキーで保管してくれたりします。

git promptとは

シェル上でのgit情報をわかりやすく見せてくれるやつです。
こういうの↓
スクリーンショット 2019-07-01 18.04.09.png

ブランチ名とか出てきて良い感じになります。

インストールしていく

Homebrewインストール

まずは、公式サイトからHomebrewを入れましょう。

Gitインストール

デフォルトでは、Xcodeのcommand line toolsが使えるようになっています。
しかし管理のしやすさなどから、Homebrewを使って今回は入れていきます。

brew install git

その後に、~/.bashrcを作成して下記を追加します。
gitのパスをインストールしたものに置き換えます。

~/.bashrc
export PATH="/usr/local/Cellar/git/2.5.0/bin:$PATH"

上記の2.5.0はインストールされたgitのバージョンが入るので、各バージョンによって書き換えましょう。

bash completionを入れる

各種コマンドの保管を行ってくれるやつです。
~/.bashrcに下記を追加します。

~/.bashrc
if [ -f $(brew --prefix)/etc/bash_completion ]; then
  source $(brew --prefix)/etc/bash_completion
fi

git completion bashを入れる

こちらも~/.bashrcに追加します。

~/.bashrc
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/etc/bash_completion.d/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
export PS1='\[\033[37m\][\[\033[36m\]\u\[\033[37m\]@\h \[\033[32m\]\W\[\033[37m\]]\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '

.bashrcにパスを通す

初期状態は~/.bash_profileがなく、今回作成した~/.bashrcにパスが通っていません。
そのため、~/.bash_profileから、~/.bashrcにパスを通しましょう。

~/.bash_profile
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

これでシェルを立ち上げ直せば、git completion bashとgit promptが使えるようになります!

参考記事

https://qiita.com/koyopro/items/3fce94537df2be6247a3

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

gitのoriginとupstreamを変更するときのまとめ

背景と目的

最近、友人からフォルダをもらってそれをGitで管理しようと思ったら.gitがすでにあった。

どういう状況かというともらったフォルダに移動して以下のコマンド

$ git remote -v
origin https://gitlab.com/TOMODACHI/TOMODACHIrepo.git (fetch)
origin https://gitlab.com/TOMODACHI/TOMODACHIrepo.git (push)

つまり、originが友人のrepositoryになっている。何が問題かというとこれを俺のrepoにしたい、つまり

$ git remote -v
origin https://gitlab.com/ORENO/ORENOrepo.git (fetch)
origin https://gitlab.com/ORENO/ORENOrepo.git (push)

upstream https://gitlab.com/TOMODACHI/TOMODACHIrepo.git (fetch)
upstream https://gitlab.com/TOMODACHI/TOMODACHIrepo.git (push)

この例だとgitlabだけどgithubも同様の操作だと思う。

仮定

  • gitlab
  • 俺のアカウント名 ORENO
  • 友達のアカウント名 TOMODACHI

やり方

$ git remote set-url origin git@gitlab.com:ORENO/ORENOrepo.git

これでoriginが俺のになった、次に友人のものをupstreamにしたいので

$ git remote add upstream https://gitlab.com/TOMODACHI/TOMODACHIrepo.git
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Gitコマンド 整理用メモ

目的

GitコマンドとUIツールを共存してうまく活用していく

前提

まずは、Gitをインストールしてきましょう

あって損しないもの(追記で入れましょう)

TortoiseGit
SourceTree

Github等で、gitリポジトリ作る

Windows に沿って説明します

コマンドプロンプト起動してhogeなディレクトリ作ってそこへ移動

git init または git clone ... /.git

ソースのほげほげ対応!!

git add file ...

git status

git commit -m "ほげほげしました"

git push origin master
(チームでやってるときは本当にmasterにプッシュしても大丈夫か要確認!)
オプション(-f)をつけることにより、強制的にプッシュできる。

git pull

リモートにある最新を取得してマージ

git fetch

リモートにある最新を取得のみ

git merge

fetchした内容を自分のブランチへマージさせる

コンフリクト起きてgit pullできん時

ひとことでまとめようとすると難しい

自分のソースをバックアップとることを前提に、
git fetch で状態だけ確認、コンフリクト起きたところをIDE等で見て修正。そして、git mergeでマージ

よい方法の例としては

TortoiseGitの場合、右クリックすると『変更取り消し』機能があるので、事前にバックアップはするのは前提とし、その機能を活用したあと、バックアップと差分確認し、自分の修正取り込んだり、修正を捨てる

TortoiseGit入れなてないときも同様に、バックアップ取ってプルまたは、クローンし直して、修正差分を取り込む。

差分確認ツールとして

WinMergeが有名である。または、gitの差分コマンドや、TortoiseGitの差分機能も検討してみてください

結論

ひとことでいうと、コンフリクト起きたときは、自分のファイルをリネームしてプルし差分取り込む、またはローカルブランチ切るか、UI使ってバックアップを視覚化して分かりやすく取ることが大切

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

Windows10にGitをインストールして初期設定する

新しいPCのセットアップするついでに手順メモを記録しておきます。

私のPC

  • Windows10 Pro
  • Ver 1803 Build 17134.829

インストールファイルをダウンロード

ダウンロードサイトのWindowsをクリックしインストール用exeファイルをダウンロードします。
image.png
私はGit-2.22.0-64-bit.exeがダウンロードされましたがPCによっては32bit版など指定してダウンロードが必要かと思います。
image.png

Git for Windowsインストール

exeファイルを実行するとInformation画面が起動しますので[Next]をクリック
image.png
インストール先を指定します。私はデフォルトのままにしました。
image.png
コンポーネント選択画面でインストールする機能を選択します。私はデフォルトのままこのままで[Next]をクリックしました。
image.png
スタートメニューにショートカットを登録します。私はこのままで[Next]クリックしました。
image.png

デフォルトエディターを選択します。VSCodeにしたかったんだけどなぜか変更できなかったのでとりあえずデフォルトのVimにしました。あとからでもこの手順で変更できます…
image.png

コマンドラインでGitをどう使うかのPATH環境設定をします。
私はデフォルトのままで[Next]をクリックしました。
- Use Git Bash only
- Git BashからだけGitが使えるようにする。環境変数に影響なく使える。
- Git from the Command line and also from 3rd-party software
- サードパーティのコマンドラインからもGitが使用できるようにする。デフォルトがこれ。
- Use Git and included Unix tools from the Command Prompt
- gitだけでなく、lsとかUnix系のコマンドもコマンドプロントで使用可能にする
image.png
SSLライブラリ設定をします。これもデフォルトのままで[Next]をクリック。
image.png
改行コード設定。デフォルトは一番上だけどここの記事から真ん中を選択して[Next]
image.png

image.png
GitBash使うときのエミュレーター設定。私はwinpty?ってもの使ってないので[Use Windows' default console window]を選択して[Next]をクリック
その他設定をします。ここの記事からシンボリックリンクは有効にしておいた方がよさそうなので全部チェックして[Next]をクリック
image.png

ん?なんか実験的な機能らしい。有効にしてみよう。選択して[Install]をクリック。
image.png

1,2分でインストールできます。
image.png

コマンドプロンプトでgit --versionを実行してバージョンが出力されたらOKです。
image.png

念のためPCをリブートします。

Git初期設定

スタートの中にあるGit Bashを起動します。
image.png

Gitのユーザー名とアカウント名を設定して設定されたかを確認します。

GitBash
$ git config --global user.name "takeda"
$ git config --global user.email "hogehoge@email.com"
$ git config --list
core.symlinks=true
core.autocrlf=input
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
add.interactive.usebuiltin=true
user.name=takeda
user.email=hogehoge@email.com
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む