新人エンジニアからの質問 Sourcetreeとターミナルの両方を使ってGitリポジトリを管理することは可能ですか?
結論: 可能です。Sourcetreeとターミナルを併用してGitリポジトリを管理できます。
SourcetreeはGitのGUIクライアントであり、内部的にはGitコマンドを実行しているため、ターミナルで行った変更もSourcetreeで即座に反映されます。ただし、注意点もいくつかあるので、それについても解説します。
1. 併用のメリット
✅ Sourcetreeの利点
- 視覚的に履歴やブランチを管理しやすい
- コミットの変更をGUIで確認できる
- リモートリポジトリとの連携が簡単
- マージやリベースの操作が直感的
✅ ターミナルの利点
- 細かい操作が可能
- カスタムGitコマンドを使用できる
- 高速な操作が可能(GUIの読み込み不要)
- SSHやGitフックの設定が容易
2. 併用時の注意点
🔹 1. Sourcetreeが最新の状態を認識しないことがある
Sourcetreeはリアルタイムでファイルの変更を検出しないことがあります。そのため、ターミナルで git commit
や git 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年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
新入社員2025年2月21日【新人エンジニア必見】よくあるGitエラーメッセージと対策方法10選
新入社員2025年2月21日Spring BootのThymeleaf(タイムリーフ)入門 – テンプレートエンジンの基礎を学ぼう!
新入社員2025年2月21日【完全ガイド】良いJavaDocの書き方とベストプラクティス
新入社員2025年2月21日Spring Bootのアノテーションはなぜインタフェースなのか?