# クローン
git clone git@github.com:hoge/fuga.git
cd fuga/
# チェックアウト
git checkout develop
# カレントのブランチを確認
git branch
クローンからチェックアウトまでをコマンド 1つで行う場合。
git clone git@bitbucket.org:nextgen-rd/hoge.git -b develop
git checkout -b <ブランチ名>
git add .
git diff -w
git diff <比較元ハッシュ値>..<比較先ハッシュ値> [比較ファイル]
git diff --cached -w
git blame <ファイル名>
git diff --stat <変更前タグ> <変更後タグ>
git commit -m "message"
git push -u orign HEAD
git checkout main
git merge -
git push origin HEAD
Go ビルド時にバージョン情報を埋め込む場合などに使用。
git log --pretty=format:%H -n 1
git rev-parse --short HEAD
git describe --tags --abbrev=0
Go ビルド時に埋め込む
package main
var version string
var revision string
func main() {
fmt.Printf("%s, %s\n", version, revision)
}
go build -ldflags "-X main.version=$(git describe --tags --abbrev=0) -X main.revision=$(git rev-parse --short HEAD)"
mkdir -p ~/git/repos/hogeproject
cd ~/git/repos/hogeproject
git --bare init --shared
ssh://user@127.0.0.1/Users/hoge/git/repos/hogeproject
あとは接続時に指定したローカルディレクトリにファイルを置いていって、コミット、プッシュする
git branch
git branch -a
git checkout <ブランチ名>
git branch -m <旧ブランチ名> <新ブランチ名>
# リポジトリ用ディレクトリを作成
mkdir -p ~/git/repos/hogeproject
cd ~/git/repos/hogeproject
# リポジトリ用に初期化
git --bare init --shared
# Mac の共有設定で、リモートログインを有効にする
SourceTree の "新規リポジトリ" で "URLからクローン" を選択する。
# SourceTree から接続する時に指定するURL
ssh://user@127.0.0.1/Users/hoge/git/repos/hogeproject
あとは接続時に指定したローカルディレクトリにファイルを置いていって、コミット、プッシュする
Mac で SSH 接続を許可するため、[システム環境設定] - [共有] - [リモートログイン] を許可しておく。
合わせて「リモートユーザーのフルディスクアクセスを許可」をチェックしておく。
AddKeysToAgent yes
UseKeychain yes
Host github.com
user <githubアカウント>
IdentityFile <秘密鍵のパス>
ssh-add --apple-use-keychain <秘密鍵のパス>
git rm hoge.txt
git rm --cached hoge.txt
git rm -r examples
git checkout -b <新規ブランチ名>
(参考) ブランチを作り忘れた時
git branch -a
しても、リモートにあるブランチが表示されない。git remote show origin
を実行して、ブランチの状態を表示。<ブランチ名> new (next fetch will store in remotes/origin)
そこで git fetch --all
を実行して、最新の情報を取得する。
git pull --tags
git reset --soft HEAD^
または
git reset --hard <コミットID>
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/privatekey
UseKeychain yes
AddKeysToAgent yes
AddressFamily inet
ssh が bitbucket に IPv6 で接続する様子は次のコマンドで確認。
netstat -an | grep "\.22 "