git 学習ノート#
使用技巧#
Github プロジェクト内での検索#
リポジトリページで T を押し、その後ファイル名を直接入力します。
記録#
Gitee の設定記録#
srtp プロジェクトは Gitee を使用しているため、今日は Gitee の設定を試してみました。少し時間がかかりましたが、以下に記録します:
- 主にGit 同时配置 Gitee 和 GitHubを参考にしましたが、最初のステップでグローバルな git の設定をクリアするように指示されました。少し心配でしたが、以前に設定したものがエラーになることを心配していました。
- 他のチュートリアルもいくつか見ましたが、Github 与 Gitee 共存配置ではグローバルな設定をクリアする必要はないと書かれていましたので、そのチュートリアルに従って順番に進めるとスムーズに設定できました。
- 一つの収穫は、
config
、id_rsa
はメモ帳で開いて編集することができるということです。
マルチユーザー協力のプロセス#
今回のグループプロジェクトでは、華為雲(Huawei Cloud)を使用しているため、プロセスは華為雲を基準にしています。
# 注:コード内の中国語は実際の状況に応じて置き換えてください
# 本番のコード開発のタスクを確定し、リモートブランチxを作成し、関連情報(ブランチ名、説明、関連する作業項目)を明記する
git pull # コードとブランチが最新であることを確認する
git checkout -b ローカルブランチ名 origin/リモートブランチ名 # リモートブランチをローカルにチェックアウトする
# コードの開発
git add .
git commit -m "適切なコメント"
git push # コードをリモートブランチにプッシュする。開発中はこの操作を頻繁に行うことができ、メリットはコードのバックアップとバージョン管理です
# 本番のコード開発のタスクが完了したら(機能が実装され、ローカルでのデバッグに問題がないことを確認してください)
# 次にブランチのマージを行います
# 華為雲でマージリクエストを作成します(レビュアー、承認者を設定して、他の人に見てもらうことができます)
# マージが完了した後(デフォルトの設定では、ブランチがマージされた後、ソースブランチは削除されます)
git remote prune origin # 華為雲上でリモートブランチが削除されたが、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'