git コマンドティップス

ブランチクローン作成

$ git clone --single-branch --branch branchname https://github.com/user/repo.git

オリジナルからクローンをローカルに作成、クローン内のファイル修正後、フォークしたリモートに修正内容をコミットする場合

  • オリジナルクローン作成 git clone
  • クローンファイル修正(ローカル環境で)
  • git addコマンドまたはgit commitコマンドにより修正内容フィックス
  • オリジナルからフォーク作成
  • リモート追加 git remote add
  • 追加したリモートを指定してgit push

https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes

The git remote add command takes two arguments:

  • A remote name, for example, origin_name
  • A remote URL, for example, https://github.com/user/repo.git

For example:

オリジナルからフォークしたリモートの追加

$ git remote add origin_name https://github.com/user/repo.git

追加したリモートの確認

$ git remote -v

origin_name https://github.com/user/repo.git (fetch) 
origin_name https://github.com/user/repo.git (push)

ローカル環境でファイル修正後、

修正したファイルのステージング

$ git add .

ローカルレポジトリに修正内容反映

$ git commit

ローカルレポジトリの内容をリモートレポジトリに反映させる

$ git push origin_name

Git-Branch

https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging

$ git checkout -b iss53
Switched to a new branch "iss53" Branch iss53を作成し移動

This is shorthand for:

$ git branch iss53 --->Branchの作成
$ git checkout iss53 --->Branch iss53へ移動

git cloneのアップデート

本家リモートからそのままクローンしたレポジトリをアップデートする場合

fetchとmergeを同時に実行

$git pull

fetchのみ実行

$git fetch

submodule update

git submodule

https://git-scm.com/book/en/v2/Git-Tools-Submodules
https://git-scm.com/docs/git-submodule

tagによるGitレポジトリクローン

https://git-scm.com/docs/git-clone

git clone [--template=<template_directory>]
	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
	  [--dissociate] [--separate-git-dir <git dir>]
	  [--depth <depth>] [--[no-]single-branch] [--no-tags]
	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
	  [--[no-]remote-submodules] [--jobs <n>] [--sparse]
	  [--filter=<filter>] [--] <repository>
	  [<directory>]

オープンソースによる会議システムJetsiをDockerコンテナで構築するため、以下最新の安定版をクローン

$ git clone -b stable-4857 --single-branch https://github.com/jitsi/docker-jitsi-meet.git
Cloning into 'docker-jitsi-meet'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 1829 (delta 1), reused 4 (delta 0), pack-reused 1823
Receiving objects: 100% (1829/1829), 750.95 KiB | 941.00 KiB/s, done.
Resolving deltas: 100% (888/888), done.
Note: checking out 'd32d74fa138c828b3de34fe7b0fb35c7fc3e0dc8'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>