一.
问题:远端仓库,已经删除的分支或者标签,本地依然存在,普通拉取操作不能同步。
解决:
git fetch origin --prune --prune-tags
这个命令会在本地同步删除 已不存在于远端的 分支以及标签,然后把远端最新的分支和标签获取下来。
prune,顾名思义,修剪。
如果只想prune,不想fetch,可以执行:
git remote prune origin
二.
如果不喜欢命令行,也可以添加sourcetree的自定义操作,工具--选项--自定义操作:
运行的脚本填上git程序的路径,参数就是命令行的内容,菜单标题随意发挥
添加之后,在某个仓库页签下,选择菜单:操作--自定义操作--刷新远程分支和标签,就ok啦。
sourcetree的自定义操作还可以做得更多,比如执行一个shell脚本,
这时候执行程序选择git-bash.exe,参数是shell脚本路径,路径的写法应该是这样/c/users/xxx1/xxx2/xx3.sh。
至于mac系统,和windows的添加方式几乎一样,除了执行程序不同。
三.
sourcetree的推送需要勾掉推送所有标签,除非你确实知道在做什么
如果不勾掉的话,一旦远端删除了tag,而你本地没删,那么又会把这个tag推回远端。
原文地址:https://www.cnblogs.com/gongziyiyi/p/11012662.html
时间: 2024-10-16 18:15:40