新人エンジニアからの質問 Sourcetreeとターミナルの両方を使ってGitリポジトリを管理することは可能ですか?

結論: 可能です。Sourcetreeとターミナルを併用してGitリポジトリを管理できます。

SourcetreeはGitのGUIクライアントであり、内部的にはGitコマンドを実行しているため、ターミナルで行った変更もSourcetreeで即座に反映されます。ただし、注意点もいくつかあるので、それについても解説します。


1. 併用のメリット

✅ Sourcetreeの利点

  • 視覚的に履歴やブランチを管理しやすい
  • コミットの変更をGUIで確認できる
  • リモートリポジトリとの連携が簡単
  • マージやリベースの操作が直感的

✅ ターミナルの利点

  • 細かい操作が可能
  • カスタムGitコマンドを使用できる
  • 高速な操作が可能(GUIの読み込み不要)
  • SSHやGitフックの設定が容易

2. 併用時の注意点

🔹 1. Sourcetreeが最新の状態を認識しないことがある

Sourcetreeはリアルタイムでファイルの変更を検出しないことがあります。そのため、ターミナルで git commitgit pull を実行した場合、Sourcetreeが変更を認識しないことがあります。

🔹 解決策:
Sourcetreeで F5(Windows)または ⌘R(Mac) を押してリポジトリを更新する。


🔹 2. Sourcetreeのキャッシュと競合することがある

Sourcetreeは独自に変更を管理するため、ターミナルで操作した結果、Sourcetreeのキャッシュとズレることがあります。

🔹 解決策:
リポジトリを開き直すか、Sourcetreeの「リポジトリ」メニューから「リポジトリを更新」を選択。


🔹 3. 設定ファイルの変更に注意

ターミナルで git config を変更すると、Sourcetreeの設定と食い違うことがあります。

🔹 解決策:

  • git config --global でグローバル設定を変更しない限り影響はない。
  • Sourcetreeの 「ツール」→「オプション」 から設定を確認する。

🔹 4. Sourcetreeの「Gitフロー」機能を使う場合

SourcetreeにはGitフロー(Git Flow) という機能がありますが、ターミナルでGitフローと異なる操作をすると、ブランチ構成が崩れる可能性があります。

🔹 解決策:
Gitフローを使う場合、Sourcetreeとターミナルのどちらで管理するかを統一するとよい。


3. 具体的な運用例

以下のように使い分けると、Sourcetreeとターミナルをスムーズに併用できます。

🖥️ ターミナルで実行する操作

git clone <リポジトリURL>     # リモートリポジトリをクローン
git branch feature-new       # 新しいブランチを作成
git checkout feature-new     # ブランチを切り替え
git pull origin main         # 最新の変更を取得
git commit -m "ターミナルで変更"  # コミット
git push origin feature-new  # ブランチをリモートにプッシュ

🔳 Sourcetreeで実行する操作

  • 視覚的に履歴やブランチの状態を確認
  • 変更内容の比較(diff)
  • コミットの詳細を確認
  • マージやリベース操作

4. まとめ

Sourcetreeとターミナルを併用することは可能!
Sourcetreeを更新(F5 / ⌘R)すれば、ターミナルの変更を反映可能!
操作を分けるとスムーズに管理できる!

🎯 おすすめの使い分け

操作ターミナルSourcetree
リポジトリのクローン
ブランチの作成・切り替え
コミット(小さな変更)
コミット(大きな変更、詳細を確認しながら)
ファイルの変更比較(diff)
履歴の確認(ブランチの状態など)
プルリクエストの作成
リモートへのプッシュ
マージやリベース

結論: Sourcetreeで視覚的に確認しつつ、ターミナルで高度な操作をするのがベスト!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。