git 学習ノート#
使用技巧#
Github プロジェクト内での検索#
リポジトリページで T を押し、その後ファイル名を直接入力します。
記録#
Gitee の設定記録#
srtp プロジェクトは Gitee を使用しているため、今日は Gitee の設定を試してみました。少し時間がかかりましたが、以下に記録します:
- Git 同时配置 Gitee 和 GitHubを主に参考にしましたが、最初のステップでグローバルな git 設定をクリアするように指示されています。少し心配でしたが、以前に設定したものがエラーになる可能性があるため、実行しませんでした。
- 他のチュートリアルもいくつか見ましたが、Github 与 Gitee 共存配置ではグローバルな設定をクリアする必要はないと書かれていましたので、そのチュートリアルに従ってステップバイステップで設定を行いました。うまくいきました。
config
やid_rsa
はメモ帳で開いて編集することができることを学びました。
マルチユーザー協力のプロセス#
今回のグループプロジェクトでは、Huawei Cloud を使用しているため、プロセスは Huawei Cloud を基準に説明します。
# 注:コード内の中国語は実際の状況に応じて置き換えてください
# 今回のコード開発で達成するタスクを確定し、リモートブランチxを作成し、関連情報(ブランチ名、説明、関連する作業項目)を明記する
git pull # コードとブランチが最新であることを確認する
git checkout -b ローカルブランチ名 origin/リモートブランチ名 # リモートブランチをローカルにチェックアウトする
# コード開発
git add .
git commit -m"適切なコメント"
git push # コードをリモートブランチにプッシュする。開発中はこの操作を頻繁に行うことができ、メリットはコードのバックアップとバージョン管理です
# 本番のコード開発タスクが完了したら(機能が実装され、ローカルデバッグに問題がないことを確認してください)
# 次に、ブランチのマージを行います
# Huawei Cloudでマージリクエストを作成します(レビュワー、承認者を設定して、他の人に確認してもらうこともできます)
# マージが完了した後(デフォルトの設定では、ブランチがマージされるとソースブランチは削除されます)
git remote prune origin # Huawei Cloud上でリモートブランチが削除されたが、git branch -rで削除されたブランチが表示される場合、このコマンドを実行します
git checkout master # masterブランチに切り替える(タスクが完了した後、masterブランチに切り替えることをお勧めします。これにより、pullする際に自分の書いたコードが失われることが避けられます)
git branch -d ローカルブランチ名 # 今回のタスクで使用したローカルブランチを削除する(バックアップとして保持することもできます)
リモートブランチの理解#
リモートブランチには次の 3 つのバージョンがあります:
- リモートリポジトリ上の実際のブランチ
- ローカルでそのブランチのスナップショット
- リモートブランチを追跡しているローカルブランチ
よく使うコマンド#
add#
git add .
は.gitignore に基づいてフィルタリングされますgit add *
は.gitignore によって無視されずにすべてのファイルが追加されます
プッシュ#
ファイルのプッシュには 3 つのステップがあります:
git add
git commit -m"コメントを入力"
git push
状態の確認#
git status
ブランチ#
-
別のブランチに切り替える
git checkout {ブランチ名}
-
ローカルブランチを表示する
git branch
-
リモートブランチを表示する
git branch -r
-
ローカルとリモートのブランチを表示する
git branch -a
-
ローカルブランチを削除する
git branch -d {ローカルブランチ名}
-
ローカルブランチを強制的に削除する
git branch -D {ローカルブランチ名}
-
リモートブランチを削除する
git push origin --delete {リモートブランチ名}
-
削除されたリモートブランチが
git branch -a
で表示される場合:git remote prune origin
ログ#
git log
ブランチのコミット履歴を表示するgit reflog
もログを表示しますが、reset --hard
も表示されます
コードのロールバック#
git reset --hard {commit_id}
git reset --hard HEAD^
前のバージョンに戻る
エラーと解決策#
-
エラー:
Updates were rejected because the remote contains work that you donot have locally.
- シナリオ: Gitee を試しているときに、まずリモートリポジトリを作成しました。その後、同じ名前のフォルダをローカルで作成し、次のコマンドを実行しました:
git init git remote add origin https://gitee.com/spike23187/hello-gitee.git
フォルダ内で新しいファイルを作成し、
push
するとエラーが発生しました。- 解決策: 下記のメッセージに従って、まず
pull
を実行せずにローカルファイルが最新ではないためです。
- シナリオ: Gitee を試しているときに、まずリモートリポジトリを作成しました。その後、同じ名前のフォルダをローカルで作成し、次のコマンドを実行しました:
-
Updates were rejected because the tip of your current branch is behind its remote counterpart
- シナリオ: 上記のシナリオで、
git pull origin master
の後にエラーが発生しました。 - 解決策:
git pull origin master --rebase
を実行します。 - 参考リンク: Git 常见报错:Updates were rejected because the tip of your current branch is behind
- 学び: GitHub でコードを管理するのはしばらく続けてきましたが、常にプラグインを使用して操作を簡略化していました。今回は初めて git bash を使用しましたが、2 つのエラーが発生しました。git をうまく使うためには、まだまだ道のりがあります。
- シナリオ: 上記のシナリオで、
-
- シナリオ: push 時にエラーが発生し、ネットワークの問題です。
- 解決策:
git config --global http.proxy 'http://127.0.0.1:7890' git config --global https.proxy 'http://127.0.0.1:7890'