自分用にGitの基本コマンドまとめました。
前回の記事でクローンした場所(~/sample
)に移動します。
$ cd ~/sample
現在のいるブランチを確認
$ git branch * master
*
が付いている場所に現在います。
チェックアウト
ブランチを作成して、作成できているかを確認します。
その後チェックアウトします。
// 作成 $ git branch feature/init // 確認 $ git branch feature/init * master // ブランチが増えました。 // チェックアウト $ git checkout feature/init Switched to branch 'feature/init' // 確認 $ git branch * feature/init master // ブランチが移動しているのがわかります。git status
ファイルを追加・修正する
sample/
ディレクトリ配下に、いくつかファイルを作成してみます。
また、.gitignore
を少し変更しました。
変更した状態をみる
$ git status On branch feature/init Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: .gitignore Untracked files: (use "git add ..." to include in what will be committed) gulpfile.js package-lock.json package.json src/ no changes added to commit (use "git add" and/or "git commit -a")
modified
: 修正したファイルUntracked files
: 新規作成したファイル
変更点をみる
+
の部分が追加されたところです。
今回は追加しかしていないので、+
しか表示しれていませんが、変更したり、削除した行があれば、-
と表示されます。
$ git diff diff --git a/.gitignore b/.gitignore index 159f515..2f52cfc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ *.css.map *.sass.map *.scss.map +/node_modules/ +.DS_Store
一括でステージにあげる
コミットする前に、コミットしたいファイルをまとめて、ステージングします。
$ git add . // ステージングされているか確認する $ git status On branch feature/init Changes to be committed: (use "git reset HEAD ..." to unstage) modified: .gitignore new file: gulpfile.js new file: package-lock.json new file: package.json new file: src/scss/style.scss
Changes to be committed:
の下に、緑色でファイルが表示されていたらOK。
ファイルひとつずつadd
する場合は、
$ git add .gitignore
ディレクトリごとadd
する場合は、
$ git add src/
ステージから下げる
一括で下げる時は、
$ git reset
ファイルひとつずつ下げる場合は、
$ git resest .gitignore
ディレクトリごと下げる場合は、
$ git resest src/
コミット
メッセージを二行入れてコミットしてみます。
$ git commit -m "init: gulp, base source codes" -m "gulpの環境と土台のソース準備"
コミットを戻す
直前のコミットを取り消す時は、HEAD^
をつける。
コミットといインデックスを戻して、ファイルの変更は残す時。
オプションをつけない時は、これが適用される。
$ git reset --mixed HEAD^
コミットだけを戻して、インデックス、ファイルの変更は残す時。
$ git reset --soft HEAD^
コミット、インデックス、ファイルの変更を戻す時。
--hard
はかなり強力なので、極力使わないようにしています。
$ git reset --hard HEAD^
今回は、ソフトを使ってみます。
$ git reset --soft HEAD^ $ git status On branch feature/init Changes to be committed: (use "git reset HEAD ..." to unstage) modified: .gitignore new file: gulpfile.js new file: package-lock.json new file: package.json new file: src/scss/style.scss
ログを見る
再度コメント付きでコミットし、確認してみます。
$ git log commit xxxxxxxx (HEAD -> feature/init) Author: [名前] Date: Mon Dec 21 16:13:41 2019 +0900 init: gulp, base source codes gulpの環境と土台のソース準備。
リモートへプッシュする
$ git push origin feature/init Enumerating objects: 34, done. Counting objects: 100% (34/34), done. Delta compression using up to 8 threads Compressing objects: 100% (26/26), done. Writing objects: 100% (32/32), 65.34 KiB | 4.36 MiB/s, done. Total 32 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), done. remote: remote: Create a pull request for 'feature/init' on GitHub by visiting: remote: https://github.com/sample/sample/pull/new/feature/init remote: To github.com.sub:sample/sample.git
Githubを開いて確認すると、ちゃんとプッシュされています。
マージする
ローカルマージする時は、コマンドで。
// マスターブランチに戻る $ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. // 今いるブランチに指定したブランチをマージします。 // masterにfeature/initをマージ $ git merge feature/init Updating xxxxxxx Fast-forward .gitignore | 2 + gulpfile.js | 72 ++ package-lock.json | 7070 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 26 + src/scss/style.scss | 3 + 24 files changed, 7369 insertions(+) create mode 100644 gulpfile.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/scss/style.scss // ローカルでマージしたものをリモートにプッシュする $ git push origin master
ブランチを確認する
// ローカルのブランチを確認する $ git branch feature/init * master // リモートのブランチを確認する $ git branch --remote origin/HEAD -> origin/master origin/feature/init origin/master // ローカルリモートまとめて確認する $ git branch --all feature/init * master remotes/origin/HEAD -> origin/master origin/feature/init remotes/origin/master
ブランチを削除する
ローカルブランチを削除する
--delete
オプションは、HEADにマージしてあればを削除
-D
オプションは、マージしなくても強制的に削除
// 削除 $ git branch --delete feature/init Deleted branch feature/init (was xxxxx).
リモートのブランチを削除する
// 削除 $ git push --delete origin feature/init To github.com.sub:sample/sample.git - [deleted] feature/init
参考サイト
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Z2l0JTIwJUUzJTgyJTkyJUU1JTg4JTlEJUUzJTgyJTgxJUUzJTgxJUE2JUU0JUJEJUJGJUUzJTgxJTg2JUU2JTk5JTgyJTIwJUUzJTgyJUIzJUUzJTgzJTlGJUUzJTgzJTgzJUUzJTgzJTg4JUUyJTg2JTkyJUUzJTgzJTk3JUUzJTgzJTgzJUUzJTgyJUI3JUUzJTgzJUE1JUUyJTg2JTkyJUUzJTgzJTlFJUUzJTgzJUJDJUUzJTgyJUI4JUUzJTgwJTgwJUUzJTgxJUFFJUU2JUI1JTgxJUUzJTgyJThDJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0wNDkwZmEyYTczZmVhYzg2NGRlOTJhZTRmOTc5ZDlmYw&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5dWtpeW9zaGltdXJhJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lZWMzYmVmZjkwYWI2YTUyMGY5YWFmMjM0NzkwM2MyMg&blend-x=142&blend-y=486&blend-mode=normal&s=e211eef179fd29ef36474a1d326a0a25)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0JTIwJTdDJTIwJUU0JUI4JTgwJUU2JThCJUFDJUUzJTgxJUE3JTIwYWRkJTIwJUUzJTgxJTk5JUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz00YmE3MWQwNmFmNjY2MDg0NWYzOWEyZTM4NWQ0YzZiZg&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBZaW5hdXJhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kMTU3Yzk0Y2U2OWNjOWMwOTU5YTI1NmY2YjBkM2UwMA&blend-x=142&blend-y=486&blend-mode=normal&s=810d46cff678c659e78ed2eb76003abd)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0JUUzJTgxJUFFJUUzJTgyJUIzJUUzJTgzJTlGJUUzJTgzJTgzJUUzJTgzJTg4JUUzJTgzJUExJUUzJTgzJTgzJUUzJTgyJUJCJUUzJTgzJUJDJUUzJTgyJUI4JUUzJTgxJUFFJUU2JTlCJUI4JUUzJTgxJThEJUU2JTk2JUI5JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1mNDMwYWRhN2VhN2MwYTZhZGE2Yzc2ZDlmOTU2M2FlNQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBpdG9zaG8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWM3N2QxNjZjNGM5NDk4NzQ5ZjA2MWNlNmY2MjlkMTIw&blend-x=142&blend-y=486&blend-mode=normal&s=ec18c17a658c6c483b320d2a4d484f51)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0JTIwJUUzJTgxJUE3JUU0JUI4JThEJUU4JUE2JTgxJUUzJTgxJUFCJUUzJTgxJUFBJUUzJTgxJUEzJUUzJTgxJTlGJUUzJTgzJUFEJUUzJTgzJUJDJUUzJTgyJUFCJUUzJTgzJUFCJUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgzJUIzJUUzJTgzJTgxJUUzJTgzJUJCJUUzJTgzJUFBJUUzJTgzJUEyJUUzJTgzJUJDJUUzJTgzJTg4JUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgzJUIzJUUzJTgzJTgxJUUzJTgyJTkyJUU1JTg5JThBJUU5JTk5JUE0JUUzJTgxJTk5JUUzJTgyJThCJUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1lM2I1N2FkNGE3MjgwOGU0YjQ5YWUwYmUzMTFhMDBmOQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBpb3Jpb25kYSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YmMwODllOTI1OWFkZTJhZWY3MDAzYWNkMjNjNDZmM2U&blend-x=142&blend-y=486&blend-mode=normal&s=5d85976459054b14a209ed99a7ad5ae4)
コメント