0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

gitのよく使うコマンド

Last updated at Posted at 2024-12-13

以下は、Gitでよく使われるコマンドとその説明です。

基本操作

  1. git init

リポジトリを初期化します。新しいGitプロジェクトを始めるときに使用します。

  1. git clone

リモートリポジトリをローカルに複製します。

  1. git status

現在のブランチの状態を確認します。変更されたファイルやステージングされていないファイルを表示します。

  1. git add

ファイルをステージングエリアに追加します。git add .を使うとすべての変更を追加できます。

  1. git commit -m "message"

ステージングエリアの変更をコミット(確定)します。-mオプションでコミットメッセージを追加します。

  1. git push

ローカルの変更をリモートリポジトリにプッシュします。

  1. git pull

リモートリポジトリの変更をローカルに取り込みます。

  1. git branch

ブランチの一覧を表示します。-aオプションでリモートブランチも表示します。

  1. git checkout

指定したブランチに切り替えます。-bオプションをつけると新しいブランチを作成して切り替えます。

  1. git merge

他のブランチを現在のブランチに統合します。

リモート操作

  1. git remote -v

設定されているリモートリポジトリのURLを表示します。

  1. git fetch

リモートリポジトリの最新の変更を取得します(ローカルには適用されません)。

  1. git rebase

現在のブランチを他のブランチの上に再適用します。

差分確認

  1. git diff

作業ツリーとステージングエリアの差分を表示します。

  1. git log

コミット履歴を表示します。--onelineオプションで簡易表示が可能です。

  1. git show

指定したコミットの内容を表示します。

リセットと修正

  1. git reset

ステージングエリアからファイルを削除します。

  1. git reset --hard

指定したコミットにリセットし、作業ツリーもリセットします。

  1. git revert

指定したコミットを打ち消す新しいコミットを作成します。

  1. git stash

作業ツリーの変更を一時的に退避します。

  1. git stash pop

退避した変更を適用します。

その他

  1. git tag

コミットにタグを付けます。

  1. git config --global user.name "Your Name"

Gitの設定を行います(例: ユーザー名)。

  1. git config --global user.email "youremail@example.com"

Gitの設定を行います(例: メールアドレス)。

  1. git clean -f

Gitの管理外のファイルを削除します。

必要に応じて詳細な使用方法をお教えしますので、気軽に聞いてください!

以下のスクリプトは、踏み台サーバーと開発サーバーのパスワードを入力できるように対応しています。sshpass を利用して、パスワードを渡せるようにします。


必要な準備

  1. sshpass のインストール
    以下のコマンドでインストールしてください(OSに応じて異なる場合があります)。

sudo apt-get install sshpass # Ubuntu/Debianの場合
sudo yum install sshpass # CentOS/RHELの場合


パスワード対応のスクリプト

#!/bin/bash

引数の確認

if [ "$#" -ne 3 ]; then
echo "使用方法: $0 <転送するファイル> <踏み台サーバーパスワード> <開発サーバーパスワード>"
exit 1
fi

転送するファイル

LOCAL_FILE="$1"

パスワード

JUMP_SERVER_PASSWORD="$2"
DEV_SERVER_PASSWORD="$3"

転送ファイルの存在確認

if [ ! -f "$LOCAL_FILE" ]; then
echo "エラー: ファイル '$LOCAL_FILE' が存在しません。"
exit 1
fi

サーバー情報

JUMP_SERVER="user@jump.example.com" # 踏み台サーバー
DEV_SERVER="dev_user@dev.example.com" # 開発サーバー
TEMP_PATH="/tmp" # 一時保存先(踏み台サーバーのパス)
FINAL_PATH="/path/to/remote/destination/" # 開発サーバーの保存先

Step 1: VMから踏み台サーバーに転送

echo "ステップ1: ファイルを踏み台サーバーに転送中..."
sshpass -p "$JUMP_SERVER_PASSWORD" scp "$LOCAL_FILE" "$JUMP_SERVER:$TEMP_PATH"
if [ $? -ne 0 ]; then
echo "エラー: 踏み台サーバーへの転送に失敗しました。"
exit 1
fi

Step 2: 踏み台サーバーから開発サーバーに転送

echo "ステップ2: ファイルを開発サーバーに転送中..."
sshpass -p "$JUMP_SERVER_PASSWORD" ssh "$JUMP_SERVER" "sshpass -p "$DEV_SERVER_PASSWORD" scp $TEMP_PATH/$(basename $LOCAL_FILE) $DEV_SERVER:$FINAL_PATH"
if [ $? -ne 0 ]; then
echo "エラー: 開発サーバーへの転送に失敗しました。"
exit 1
fi

echo "ファイル転送が正常に完了しました。"


使用方法

  1. スクリプトを保存して実行権限を付与します。

chmod +x transfer_with_password.sh

  1. スクリプトを実行して、必要な情報を渡します。

./transfer_with_password.sh /path/to/local/file.txt "jump_server_password" "dev_server_password"


出力例

成功時

ステップ1: ファイルを踏み台サーバーに転送中...
ステップ2: ファイルを開発サーバーに転送中...
ファイル転送が正常に完了しました。

エラー時(例: パスワードが間違っている場合)

ステップ1: ファイルを踏み台サーバーに転送中...
エラー: 踏み台サーバーへの転送に失敗しました。


注意点

  1. セキュリティ上の注意
    スクリプト内にパスワードを含む場合、第三者に見られないように十分に注意してください。ファイルのアクセス権限を適切に設定してください。

chmod 700 transfer_with_password.sh

  1. sshpass のインストールが必要
    事前にインストールを済ませてください。

  2. 改善案
    パスワードをスクリプト実行時にプロンプト入力で受け取る方法もありますが、利便性とのトレードオフになります。必要であれば対応可能です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?