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

今すぐ使えるGitコマンド

Git

Gitを使ったバージョン管理

設定

$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com

セットアップ

$ git init

状態確認

$ git status

コミット

$ git commit -am "Commit name"

-a:ワークツリーで変更済みのファイルをコミットする(「git add」コマンドによる操作を省略

ただし、初回のみ管理対象を決めるためにgit addコマンド操作が必要

-m:""内の文字列をメッセージとして設定可能

プッシュ

$ git push

ログ

$ git log

ログがある程度以上長い場合は,qキーを押して終了

ブランチ

ブランチ作成

$ git checkout -b branch_name

-b:新しいブランチ作成

ブランチ一覧

$ git branch
master
* branch_name

「*」は現在使用中のブランチ

ブランチ移動

$ git checkout branch_name

ローカルのブランチをリモートにも追加

$ git push --set-upstream origin branch_name

リモートに既にブランチが存在している場合は必要ないはず

マージ

$ git checkout master
Switched to branch 'master'

$ git merge branch_name

branchNameをmasterにマージ

マージの取り消し

マージ後、まだコミットしていない場合

$ git reset --hard HEAD

マージ後、既にコミットした場合

$ git reset --hard ORIG_HEAD

pull

リモートの変更をローカルにも反映

$ git pull

rebase

fast-forward(変更履歴を一本化)

rebase前

1-2ー3-4-5-6-master

  l-7-8-9-branch_name

===>

rebase後

master-7-8-9-branch_name

1. rebaseしたいブランチに移動しrebase

```shell=
$ git checkout branch_name
$ git rebase master
```

2. Conflict(競合)したファイルを手動で変更

3. 全て完了したら、addで追加してcontinue

```shell=
$ git add <Conflictした/path/to/ファイル名>
$ git rebase --continue
```

4. 再びConflict(競合)が起こったら2.に戻る

5. 全てのrebaseが完了したら,以下でpull・もしくは強制push

```shell=
$ git pull

### 以下の強制pushの場合は上記のpullと6.の工程はスキップ可能
$ git push -f
```

6. 最後に、いつものリモートにpush

```shell=
$ git add .
$ git commit
$ git push
```

tag

tag付けることで、バージョン指定した状態をzipダウンロード可能となる

$ git tag 1.0
$ git push --tag origin master

Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:{GitHubアカウント名}/{プロジェクト名}.git
* [new tag]         1.0 -> 1.0
tags: development,開発,git
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Git ローカルリポジトリの歴史をリセットする

目的

  • 「今コミットした最新コミット取り消したい!!」というときの方法をまとめる

前提情報

  • 筆者が確認した環境を簡単にまとめる

    1. 任意のディレクトリにgit_testディレクトリを作成し、git_testディレクトリに移動して$ git initコマンドを実行した。
    2. 下記コマンドを実行してファーストコミットを実行する。

      $ git commit -m 'first commit' --allow-empty
      
    3. 下記コマンドを実行してgit_testディレクトリ直下にテキストファイルを作成する。

      $ echo 'aaa' > test.txt
      
    4. 下記コマンドを実行して追加したテキストファイルをコミットする。

      $ git add test.txt
      $ git commit -m 'テキストファイルの追加'
      
  • ローカルの最新コミットがコミットメッセージ「テキストファイルの追加」のコミットだとする。

    Git_ローカルリポジトリの歴史をリセットする_md_—_miriwo_qiita.png

  • 最新のコミットをなかったことにしてコミットメッセージ「first commit」のコミットまで状態を戻したい。

方法

  1. ローカルリポジトリ内で下記コマンドを実行してコミットログを出力する。

    $ git log
    
  2. 表示されたログの中でその状態まで戻したいコミットのコミットIDをコピーする。(今回はコミットメッセージが「first commit」のコミットまで戻したいので下記をコピーする。)

    Git_ローカルリポジトリの歴史をリセットする_md_—_miriwo_qiita.png

  3. ローカルリポジトリ内で下記コマンドをして最新のコミットをなかったことにし、IDで指定したコミットまで状態を戻す。

    $ git reset 先程コピーしたコミットID
    
  4. test.txtを登録したコミットがなくなり、text.txtは存在するがgit管理させる前の状態になる。

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

git githubを使ってnodejsでサイトを表示してみた

概要

gitの使い方のメモです。
筆者のプログラミングの経験は以下です。

git: 1週間

そのため、理解が間違っている箇所が多々あると思いますがご了承ください。

各種バージョン

npm : 6.14.8

gitのコマンドの目次

1. gitの起動とコミット

  • git init
  • git add
  • git commit
  • git status
  • git log
  • git reset

2. branchの運用

  • git branch
  • git checkout
  • git merge

3.githubとの提携

  • git remote add origin
  • git push origin ブラン
  • git fetch origin ブランチ名
  • git diff HEAD origin/ブランチ名
  • git pull origin ブランチ名

1.gitの起動とコミット

ここではローカルリポジトリの起動とコミット等の基本をまとめる。

ここで使用するコマンド

gitの起動

git init

ファイルをgitのステージング環境に上げる

git add ファイル名

前回のcommitからの変更状態の確認

git status

addの取り消し

git reset ファイル名

ステージング環境の変更をローカルリポジトリに取り入れる

git commit -m "コミットメッセージ"

コミットの履歴を確認

git log

コミットの取り消し

git reset id

ここではローカルリポジトリにファイルを追加してコミットするところまでを目標とする。

まず、gitで管理するフォルダを作成する。
今回は便宜上git-practiceというフォルダを作成する。

ターミナル
mkdir git-practice
cd git-practice

git-practice上でファイルを作成する。
今回はnodejsのexpressを使ってgitの操作をなれる。

1-1gitの立ち上げ

$(pwd)
git init

次にexpressなどのnodejsに必要な情報をダウンロードする。

tips

gitのリポジトリになっているかどうかは

shift+command+.

スクリーンショット 2020-10-15 0.53.50.png

で隠しファイルの確認から確認可能。

gitが起動していれば.gitというフォルダが確認できる。

1-2 gitのファイルを追加と取り消し

npm init を使ってnodejsを立ち上げる。
すると、package.jsonと言うjsonファイルが追加される。
ここでgitを立ち上げてから前回までの履歴を以下のコマンドで確認する。

$(pwd)
git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    package.json

nothing added to commit but untracked files present (use "git add" to track)

package.jsonが追加されているのが確認できる。

これをステージングに追加するには以下のコマンドを使う。

git add .   #ファイル名のところを.ですべて追加
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   package.json

new file: package.json というのが現在ステージング環境に

1-3 ローカルリポジトリに変更をコミットする

ステージング環境の変更をローカルリポジトリに取り入れるためにはコミットをする必要がある。
コマンドは以下。

git commit -m "変更内容等のメッセージ"

commit-messageには変更した内容があとから見てわかりやすいものにする。
(例) add packege.json

コミットの履歴は、以下のコマンドで確認が可能。

git log

コミットの取り消しには以下のコマンドを使用。
commit_idの地点までcommitを戻すことができる。

git reset commit_id

commit_idはgit logで確認可能。
commitの後で暗号のようになっているもの。

git_log
commit 8b0e6************ ← ここがcommit_id
Author: ******
Date:   *****

練習問題1

① npm install expressをしてパッケージをダウンロードし、変更内容をコミットする
② ssというからファイルを作成し、addからのreset,commitからのresetをする

2. branchを使って作業を分岐

ここでは作業内容に応じてブランチを作成するやり方をまとめる。

ここで使用するコマンド

ブランチの確認と作成

git branch ブランチ名

ブランチ間の移動

git checkout 移動したいブランチ名

ブランチの取り込み

git merge 取り込みたいブランチ名

リモートリポジトリの変更内容を取得

git fetch origin ブランチ名

リモートリポジトリの変更内容の差分を表示

git diff HEAD origin/ブランチ名

2-1 ブランチの作成と移動

ブランチの作成は以下のコマンド。

git branch ブランチ名

ブランチ名にはdevelopやaddfileなど作業内容がわかりやすいものにする。
ブランチ名を指定しないと現在存在するブランチを確認することができる。
ブランチ間を移動するには以下のコマンド。

git checkout ブランチ名

2-2 ブランチの取り込み

例えば、htmlというブランチを作ってmasterブランチにその内容を取り込みたかったら以下のコマンドを使う。

masterブランチ内
git merge 取り込みたいブランチ名

取り込むブランチ(master)に移動→マージするの手順ですすめる。

練習問題2

addというブランチを作成して、適当なファイルを追加後masterブランチに変更内容とを取り込む。

3.githubと連携する

github上のリポジトリと連携してプロジェクトを進行する方法をまとめる。

ここで使うコマンド

リモートリポジトリの追加

git remote add origin githubのリポジトリのurl

ローカルリポジトリの内容をgithubのリポジトリに反映

git push origin ブランチ名

3-1 リモートリポジトリの追加

githubにgitの練習用のリポジトリとしてgit-practiceというリポジトリを作ったとする。
そのリポジトリのurlが https://practice だったとすると反映は以下のコマンドで行う。
originというのはリモートリポジトリの名前。

git remote add origin https://practice

3-2 ローカルリポジトリのコミット内容をgithubに反映

例えばdevelopブランチでcommitをした内容を加える場合は以下。

git push origin develop

tips

3-3に入る前にローカルブランチがどのブランチに対して適応しているか確認したほうがよい。
方法は以下。

git branch -vv

3-3 リモートリポジトリで行われた変更内容を取り込む

例えば3人で作業しており,AさんがdevelopでREADME.mdに情報を追加したとする。
あなたのローカルリポジトリにはその変更内容はないので確認する必要がある。
確認するためのコマンドは以下。

git fetch origin develop

取り込んだ変更内容を確認するためのコマンドは以下。

git diff HEAD origin/develop

そして変更内容が良かった場合

git pull origin develop

git pull = git fetch + git merge

といった感じで情報をリモートからとってきてその情報をマージする役割をしている。

まとめ

githubでの開発の流れは以下のようになる。

1.ローカルで開発
2.リモートにプッシュ
3.親ブランチにpullリクエスト

1〜3の繰り返しになる。

フローは以下の記事でよくまとめられている。
https://qiita.com/ohnaka0410/items/7c7fa20710dfd72b7d7a

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

git githubをまとめてみた

概要

gitの使い方のメモです。
筆者のプログラミングの経験は以下です。

git: 1週間

そのため、理解が間違っている箇所が多々あると思いますがご了承ください。

各種バージョン

npm : 6.14.8

gitのコマンドの目次

1. gitの起動とコミット

  • git init
  • git add
  • git commit
  • git status
  • git log
  • git reset

2. branchの運用

  • git branch
  • git checkout
  • git merge

3.githubとの提携

  • git remote add origin
  • git push origin ブラン
  • git fetch origin ブランチ名
  • git diff HEAD origin/ブランチ名
  • git pull origin ブランチ名

1.gitの起動とコミット

ここではローカルリポジトリの起動とコミット等の基本をまとめる。

ここで使用するコマンド

gitの起動

git init

ファイルをgitのステージング環境に上げる

git add ファイル名

前回のcommitからの変更状態の確認

git status

addの取り消し

git reset ファイル名

ステージング環境の変更をローカルリポジトリに取り入れる

git commit -m "コミットメッセージ"

コミットの履歴を確認

git log

コミットの取り消し

git reset id

ここではローカルリポジトリにファイルを追加してコミットするところまでを目標とする。

まず、gitで管理するフォルダを作成する。
今回は便宜上git-practiceというフォルダを作成する。

ターミナル
mkdir git-practice
cd git-practice

git-practice上でファイルを作成する。
今回はnodejsのexpressを使ってgitの操作をなれる。

1-1gitの立ち上げ

$(pwd)
git init

次にexpressなどのnodejsに必要な情報をダウンロードする。

tips

gitのリポジトリになっているかどうかは

shift+command+.

スクリーンショット 2020-10-15 0.53.50.png

で隠しファイルの確認から確認可能。

gitが起動していれば.gitというフォルダが確認できる。

1-2 gitのファイルを追加と取り消し

npm init を使ってnodejsを立ち上げる。
すると、package.jsonと言うjsonファイルが追加される。
ここでgitを立ち上げてから前回までの履歴を以下のコマンドで確認する。

$(pwd)
git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    package.json

nothing added to commit but untracked files present (use "git add" to track)

package.jsonが追加されているのが確認できる。

これをステージングに追加するには以下のコマンドを使う。

git add .   #ファイル名のところを.ですべて追加
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   package.json

new file: package.json というのが現在ステージング環境に

1-3 ローカルリポジトリに変更をコミットする

ステージング環境の変更をローカルリポジトリに取り入れるためにはコミットをする必要がある。
コマンドは以下。

git commit -m "変更内容等のメッセージ"

commit-messageには変更した内容があとから見てわかりやすいものにする。
(例) add packege.json

コミットの履歴は、以下のコマンドで確認が可能。

git log

コミットの取り消しには以下のコマンドを使用。
commit_idの地点までcommitを戻すことができる。

git reset commit_id

commit_idはgit logで確認可能。
commitの後で暗号のようになっているもの。

git_log
commit 8b0e6************ ← ここがcommit_id
Author: ******
Date:   *****

練習問題1

① npm install expressをしてパッケージをダウンロードし、変更内容をコミットする
② ssというからファイルを作成し、addからのreset,commitからのresetをする

2. branchを使って作業を分岐

ここでは作業内容に応じてブランチを作成するやり方をまとめる。

ここで使用するコマンド

ブランチの確認と作成

git branch ブランチ名

ブランチ間の移動

git checkout 移動したいブランチ名

ブランチの取り込み

git merge 取り込みたいブランチ名

リモートリポジトリの変更内容を取得

git fetch origin ブランチ名

リモートリポジトリの変更内容の差分を表示

git diff HEAD origin/ブランチ名

2-1 ブランチの作成と移動

ブランチの作成は以下のコマンド。

git branch ブランチ名

ブランチ名にはdevelopやaddfileなど作業内容がわかりやすいものにする。
ブランチ名を指定しないと現在存在するブランチを確認することができる。
ブランチ間を移動するには以下のコマンド。

git checkout ブランチ名

2-2 ブランチの取り込み

例えば、htmlというブランチを作ってmasterブランチにその内容を取り込みたかったら以下のコマンドを使う。

masterブランチ内
git merge 取り込みたいブランチ名

取り込むブランチ(master)に移動→マージするの手順ですすめる。

練習問題2

addというブランチを作成して、適当なファイルを追加後masterブランチに変更内容とを取り込む。

3.githubと連携する

github上のリポジトリと連携してプロジェクトを進行する方法をまとめる。

ここで使うコマンド

リモートリポジトリの追加

git remote add origin githubのリポジトリのurl

ローカルリポジトリの内容をgithubのリポジトリに反映

git push origin ブランチ名

3-1 リモートリポジトリの追加

githubにgitの練習用のリポジトリとしてgit-practiceというリポジトリを作ったとする。
そのリポジトリのurlが https://practice だったとすると反映は以下のコマンドで行う。
originというのはリモートリポジトリの名前。

git remote add origin https://practice

3-2 ローカルリポジトリのコミット内容をgithubに反映

例えばdevelopブランチでcommitをした内容を加える場合は以下。

git push origin develop

tips

3-3に入る前にローカルブランチがどのブランチに対して適応しているか確認したほうがよい。
方法は以下。

git branch -vv

3-3 リモートリポジトリで行われた変更内容を取り込む

例えば3人で作業しており,AさんがdevelopでREADME.mdに情報を追加したとする。
あなたのローカルリポジトリにはその変更内容はないので確認する必要がある。
確認するためのコマンドは以下。

git fetch origin develop

取り込んだ変更内容を確認するためのコマンドは以下。

git diff HEAD origin/develop

そして変更内容が良かった場合

git pull origin develop

git pull = git fetch + git merge

といった感じで情報をリモートからとってきてその情報をマージする役割をしている。

まとめ

githubでの開発の流れは以下のようになる。

1.ローカルで開発
2.リモートにプッシュ
3.親ブランチにpullリクエスト

1〜3の繰り返しになる。

フローは以下の記事でよくまとめられている。
https://qiita.com/ohnaka0410/items/7c7fa20710dfd72b7d7a

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

play.jsとWorking Copyで、iPad上にNode.js実行環境を構築する。

iPad miniでNode.js実行環境を構築できたので、まとめてみました。

この記事でできること

  • iPadでNode.jsをローカル実行する。
  • iPadからGitHub上のリポジトリに対してpush / pullする。

注意事項

これから紹介するNode.js実行アプリは、エミュレータであり、
本家Node.js / npmの一部しかサポートしていないので、
PCでできることがそのままできたりはしないことに注意してください。

筆者のハードウェア環境

  • iPad mini 第5世代
  • Ewin Bluetooth Keyboard (Amazon)
  • ロジクール ワイヤレスマウス Pebble SE-M350OW (Amazon)

Node.js実行環境の構築手順

アプリをインストールする

play.js - JavaScript IDE
Node.js実行アプリ。npmやnodeを実行できますが、あくまでエミュレータ。
PCみたいにnpmやnodeを自由に実行する事はできません。
しかし、expressとReactでWebアプリを作成して実行できたりしますので、
かなり遊べます。

Working Copy - Git client
Gitクライアント。簡単な手順でGitHubにSSH接続できたりします。
pushを行うには、課金してProにグレードアップする必要があるものの、
play.jsのGit機能でpushできますので、課金する必要はありません。

GitHubにリポジトリを作成する

先にブラウザで、GitHubに空のリポジトリを作成した方が簡単です。

Working Copyでリポジトリをcloneする

Working Copyを起動して、作成したリポジトリをcloneします。
接続はSSHで行いますが、アプリが自動でキーを作成・登録してくれます。

cloneするには、左ペインの上にあるプラス (+) アイコンをタップして、
"Clone repository" を選択します。

iOSアプリ「ファイル」でWorking Copyを閲覧可能にする

iOSアプリ「ファイル」を起動して、
左ペインの上にあるミートボール(…)アイコンをタップし、「編集」を選択します。

Working Copyの項目がありますので、スイッチをオンにしてください。

play.jsでプロジェクトを作成する

play.jsを起動して、プラス (+) アイコンをタップし、新規プロジェクトを作成します。

Name、Typeを入力して、Directoryに "Select directory" を選択します。

表示されたダイアログに、先ほど閲覧可能にしたWorking Copyがありますので、
その中からリポジトリを選択します。

後はplay.jsでプログラミングをするだけです。
.gitignoreを作成してnode_modulesを含めることを忘れずに。

なお、Gitの操作は、基本的にplay.jsで行います。
Working Copyでpushを行うには課金が必要ですが、
play.jsからpushできますので、課金しなくても大丈夫です。

サンプルの紹介

Satomaru/mosaic-tile
これは、私が習作としてパクっ作ってみたパズルゲームです。
プログラミングを参考にされるのは恥ずかしいので、
play.jsの使い方を参考にする程度に見て、いじめないでください……。

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

Git 簡単に変更前の状態に戻す方法(コミット前)

コミット前の変更点をターミナルを使わずに変更する

5a8e0bb5a8678f4f589fba16c996ee70.png

他のブランチに移動するだけ!

この方法が最も簡単に変更前に戻す方法なのですが、他の事例に当てはまる場合は下記の方の記事を参考にするといいですよ!

https://qiita.com/tani-shi/items/3419600447292abf6c79
@tani-shi

現場からは以上です!

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