【git 】sync
·

PROMPT:
实现一个linux和windows上通用的git命令,能够将当前所在分支上最新修改的commit节点同步到目标分支上;实际使用过程中,输入git sync "目标分支名"命令,即可将当前所在分支上最新的commit节点同步到目标分支;
实际使用场景如下:
实际开发生产过程中,会用到两个分支:dev分支用于打桩验证,dev_merge分支用于跑门禁合入主干;dev分支上的修改可以通过命令选择性的同步到dev_merge分支上;
使用git设置别名的方式实现
git config --global -e
[alias]
sync = "!f() { \
target=$1; \
if [ -z \"$target\" ]; then \
echo '错误: 请指定目标分支。用法: git sync <目标分支名>'; \
exit 1; \
fi; \
curr_branch=$(git rev-parse --abbrev-ref HEAD); \
if [ \"$curr_branch\" = \"$target\" ]; then \
echo '错误: 当前分支与目标分支相同。'; \
exit 1; \
fi; \
commit_hash=$(git rev-parse HEAD); \
echo \"正在将 $curr_branch 的最新提交 ($commit_hash) 同步到 $target ...\"; \
git checkout \"$target\" || exit 1; \
git cherry-pick \"$commit_hash\" || { \
echo '=================================================='; \
echo '注意: 发现代码冲突!'; \
echo '请先解决冲突,执行 git cherry-pick --continue'; \
echo \"完成后,请手动切回原来的分支: git checkout $curr_branch\"; \
exit 1; \
}; \
git checkout \"$curr_branch\"; \
echo \"同步成功!已自动切回 $curr_branch 分支。\"; \
}; f"
更多推荐


所有评论(0)