GitとGiteeによるリモートコード同期ガイド

  1. コンフリクトの処理 =======

4.1 リモートリポジトリへのpushが失敗する場合、pullを先に行う必要がある場合

リモートリポジトリとローカルリポジトリのバージョンが一致していない可能性があります。このため、まずgit fetch originで更新を取り込み、次にgit merge origin/masterでマージを行います。その後、git push origin mainでローカルの変更をリモートにプッシュします。

4.2 コンフリクトの解決方法:

例えば、SampleCode.javaファイルでコンフリクトが発生した場合、以下のような内容になります:

public class SampleCode{
    public static void main(String[] args){
<<<<<<< HEAD
        y
=======
        System.out.
>>>>>>> 3c4d2987abc123ea55fc4fc39709765c6baeb037
    }
}

<<<<<<< HEAD=======の間の内容はローカルのファイル内容です。 =======>>>>>>> 3c4d2987abc123ea55fc4fc39709765c6baeb037の間の内容はリモートのファイル内容です。 必要な部分を残し、不要なコメントや変数を削除してから再びgit add, git commitを行い、最後にgit pushします。

  1. 変更の取り消し ======

5.1 追加済みだがコミット前の変更を取り消す(git restore --):

git reset HEAD *を使用すると、ステージングエリアの変更をワークスペースに戻せます(つまり、追加されたがまだコミットされていない変更を元に戻します)。

5.2 ファイルが変更または削除されているが、まだ追加されていない場合の取り消し:

たとえば、TestFile.javaを誤って削除したり変更したが、まだ追加していない場合、git restore .を使用してすべての作業を取り消せます。ただし、慎重に使用してください。特定のファイルのみ復元したい場合は、git restore TestFile.javaを使用するのが推奨されます。Javaファイル全体の復元にはgit restore *.javaを使えます。EclipseではF5キーでファイルを更新する必要があります。

5.3 既にコミットされた変更を取り消す(git reset):

コミット後の変更を取り消すにはgit reset --hard HEAD~1を使用しますが、注意が必要です。

  1. Gitの基本概念 =========

Gitを使ってコードを管理するには、最初にファイルをトラッキングする必要があります。新規ファイルは未トラッキング状態(untracked)であり、git addでステージングエリアに移動させ、git commitでリポジトリにコミットします。これによりファイルがスナップショットとして保存され、バージョン管理が可能になります。

  1. EclipseプロジェクトのGit管理(コマンドライン) ===========================

EclipseではEGitプラグインも利用できますが、コマンドラインでの操作をお勧めします。

7.1 Giteeでプロジェクトを作成

初期化時にREADMEファイルを含めないよう注意してください。

7.2 Gitのグローバル設定:

git config --global user.name "YourName"
git config --global user.email "YourEmailAtGitee"

7.3 Eclipseでプロジェクトを作成し、Gitで管理

例えばGitProjectというプロジェクトを作成し、その下にREADME.mdを作成します:

cd GitProject
git init
git add .
git commit -m "initial commit"
git remote add origin https://gitee.com/user/GitProject.git
git push -u origin main

異なる履歴を統合する際はgit pull origin main --allow-unrelated-historiesを実行し、その後git push origin mainを行います。

7.4 .gitignoreファイルの追加

プロジェクトディレクトリに.gitignoreファイルを作成し、以下のように設定します:

*.class
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
hs_err_pid*

次にgit add .gitignore, git commit -am "add gitignore", git pushを実行します。

  1. 参考資料 ========
  • Git GUIの使用方法
  • 命令ベースのGitチュートリアル
  • EGitプラグインの詳細な使用方法
  1. Git使用上の注意点 =============
  • 行末文字列の自動変換問題(CRLF, LF)
  • 認証エラーの修正方法
  • Windows版Gitの文字コード問題の対策

タグ: Git Gitee バージョン管理 コンフリクト解消 EGit

5月25日 04:19 投稿