shellスクリプトをデバッグするときにgit pullを複数回テストする方法
2495 ワード
実際の作業では、git pullの自動更新コードを実行したり、印刷されたファイル変更情報から不要な情報をフィルタリングしたりするgitコマンドの実行を自動化するためにshellスクリプトを作成することを考えるかもしれません.
しかしshellスクリプトのテスト、デバッグでは、git pullを実行すると、ローカルウェアハウスがリモートサーバと一致して保存され、git pullを再実行すると実際にコードを更新する効果がなく、変更情報のフィルタリングが正しいかどうかは検証できません.
git pullの効果を複数回テストするには、ローカルウェアハウスコードをリモートサーバコードに遅れる必要があります.具体的な方法は以下の通りです.
先にHEADは現在の最新バージョンを指し、 commitパラメータはgit commitのhash値であり、commitパラメータでどのコミットに戻るかを指定します. この2つのコマンドの役割は、新しいブランチを作成することであり、新しいブランチのコードはすでにリモートサーバコードに遅れている 次に
fatal: No remote repository specified. Please, specify either a URL or a remote name from which new revisions should be fetched.
このようにpullの後、現在のローカルブランチコードは最新であり、再びpullには新しい変更はありません.pull効果を再テストする場合は、新しいローカルブランチを作成できます.
上でgit checkoutを実行する場合は-bオプションを付けずに、先に
すなわち、git pullの効果を複数回テストするには、次のコマンドを実行する必要があります.具体的なパラメータ値は、実際の倉庫の値に変更します.
新しいブランチを複数回作成したくない場合は、git pullを現在のローカルブランチで複数回テストしたい場合は、次の方法を参照してください.
まず
次にgit add、git commitを再実行してコミットする必要があり、その後
すなわち、git pullの効果を複数回テストするには、次のコマンドを実行する必要があります.具体的なパラメータ値は実際の倉庫の値に変更します.
しかしshellスクリプトのテスト、デバッグでは、git pullを実行すると、ローカルウェアハウスがリモートサーバと一致して保存され、git pullを再実行すると実際にコードを更新する効果がなく、変更情報のフィルタリングが正しいかどうかは検証できません.
git pullの効果を複数回テストするには、ローカルウェアハウスコードをリモートサーバコードに遅れる必要があります.具体的な方法は以下の通りです.
方法1
先に
git checkout -b local_branch_name HEAD~2
命令を実行するか、またはgit checkout -b local_branch_name commit
命令を実行する.HEAD~1
は1つのバージョン、つまり前のバージョンを指し、HEAD~
、HEAD~2
と略記できる.「≪類推|類推|Essbase_Studio≫」を選択すると、ローカル・ブランチがサーバーのバージョンに遅れるバージョンを指定できます.git pull remote_repository remote_branch_name
でコードを更新するとgit pullの更新効果が見られます.この場合、git pull
コマンドのみを実行することはできません.そうしないと、次のエラーが表示されます.fatal: No remote repository specified. Please, specify either a URL or a remote name from which new revisions should be fetched.
このようにpullの後、現在のローカルブランチコードは最新であり、再びpullには新しい変更はありません.pull効果を再テストする場合は、新しいローカルブランチを作成できます.
上でgit checkoutを実行する場合は-bオプションを付けずに、先に
git checkout HEAD~2
コマンドまたはgit checkout commit
コマンドを実行し、実行後、現在はブランチの下にありません.gitプロンプトはgit checkout -b new_branch_name
で新しいローカルブランチを作成し、上の方法でpullを行うことができます.すなわち、git pullの効果を複数回テストするには、次のコマンドを実行する必要があります.具体的なパラメータ値は、実際の倉庫の値に変更します.
$ git checkout -b local_branch_name HEAD~2
$ git pull remote_repository remote_branch_name
方法2
新しいブランチを複数回作成したくない場合は、git pullを現在のローカルブランチで複数回テストしたい場合は、次の方法を参照してください.
まず
git reset commit
コマンドを実行し、commitパラメータはgit commitのhash値であり、どのコミットに戻るかを指定します.ローカルコードがロールバックされ、git statusコマンドで表示されると、まだコミットされていないファイルがいくつか表示されます.git pullを実行できない場合は、「Cannot pull with rebase:You have unstaged changes.」というメッセージが表示されます.次にgit add、git commitを再実行してコミットする必要があり、その後
git pull remote_repository remote_branch_name
コマンドで更新できます.この場合、git pullがgit mergeを使用している場合はbranch mergeを提示し、自動的にmerge commentをポップアップし、手動で確認する必要があります.git pullがgit rebaseを使用している場合、branch mergeはプロンプトされず、merge commentを記入したり手動で確認したりする必要はありません.すなわち、git pullの効果を複数回テストするには、次のコマンドを実行する必要があります.具体的なパラメータ値は実際の倉庫の値に変更します.
$ git reset commit_hash
$ git add -A
$ git commit -m "your commit message"
$ git pull --rebase remote_repository remote_branch_name