1、在项目发版时,经常遇到整理并打包更新的文件,可以使用以下命令:
git diff 旧版提交代号 新版提交代号 --name-only | xargs zip 生成压缩包名称.zip
2、删除tag
//1.删除本地tag git tag -d TAG名称 //2.删除远程tag git push origin :refs/tags/TAG名称
3、撤销本地修改
如果修改了代码,但是并未执行 git add 操作,可直接执行:
git restore . //重置所有文件
如果只想重置个别文件,指定文件路径即可
git restore <文件>...
但是,如果已经执行了 git add 操作,此时代码已保存至暂存区,需要先取消暂存区变更:
git restore --staged .
或者
git reset .
4、代码回退
如果想重置工作区、暂存区、仓库区等任何场景,可使用reset,重置后不可恢复。
git fetch --all //指令是下载远程仓库最新内容,不做合并。 git reset --hard origin/master //指令把HEAD指向master最新版本, 重置后不保留暂存区和工作区 git pull // 这一步为了同步远程代码,不需要的话可不执行
补充:
git reset --soft //保留工作区,并把重置 HEAD 所带来的新的差异放进暂存区(此时代码的变更状态相当于执行完 git add命令) git reset --mixed //reset的默认参数,保留工作目录,并重置暂存区(此时代码的变更状态相当于执行 git add命令之前)
5、stash 暂存
推荐暂存代码再同步。
首先,将所有代码添加至暂存区:
git add .
然后,将代码临时保存:
git stash
此时代码会重置到修改前的状态,可以安全同步远程仓库区。
git pull
同步后,如果还想继续修改原来的代码,可将临时代码恢复至工作区:
git stash pop