Thanks for your reply! I have reviewed the changelog and noted that Git version 2.23 introduced similar work through the addition of the git-switch and git-restore commands, which replace some legacy commands and incorporate various functional modifications. After examining the updates, I have summarized the proposed work as follows and would appreciate confirmation on whether these tasks are to be included in the current project: 1. Code Modifications for Command Implementation: - Implementation of new commands. - Necessary modifications to existing commands to support these changes. 2. Test Modifications: - Addition of tests for the new features (including help tests, basic functionality tests, and extended feature tests). - Updating tests for old commands to execute tests on the new commands (for example, changing the command in git-checkout tests to git-restore). 3. Documentation Updates: - Creating documentation for the new commands. Updating and unifying existing documentation (including git.txt, git-cli.txt, and git-commit.txt). Additionally, I have a few points that require further discussion: 1. Command Migration: Upon reviewing the commands slated for replacement (e.g., git-update-ref(1), git-for-each-ref(1), git-show-ref(1), git-pack-refs(1), and git-symbolic-ref), it seems that migrating their functionality into a subcommand of git-refs could be sufficient. Could you please confirm if this approach meets our project requirements without introducing additional functionality? 2. Function Call Integration: Regarding migration, is it acceptable to directly invoke the legacy command functions by passing parameters from the new command functions? 3. Test Retention: Lastly, should we retain the original tests for the legacy commands, or should they be fully replaced with tests for the new implementations? I appreciate your guidance and look forward to your feedback on these points. Best regards, Zheng Yuting