git Merge: refusing to merge unrelated histories

git不默认不允许不相同的两个项目合并,删除.git文件夹后先pull后commit

或者

git merge --squash dev --allow-unrelated-histories

或者

pull失败,可以fetch后创建新的分支,再merge合并

git clone is aborting due to possible repository corruption on the remote

[pack]
	compression = 0      //关闭服务端压缩传输,后面可以不配
	windowMemory = 100m     //服务端打包传输大小限制
	SizeLimit = 100m     //服务端打包传输大小限制
	threads = 10
	window = 0

git reset

移动head指向

git switch、checkout

切换分支

git submodule

项目带有.gitmodules的文件,记录了submodule的下载地址
git submodule update --init --recursive

修改gitmodules地址url后,使用git submodule sync更新,在使用update即可下载
修改url后执行git submodule init,git submodule update不带上面参数,容易报404错误,不知道原因(_
git submodule foreach 遍历目录执行命令
git submodule init && git submodule update 不会遍历文件夹,需要在前面加git submodule foreach或者git submodule update --init --recursive带遍历参数

tortoisegit选择整个项目,更新submodule
在这里插入图片描述

git 覆盖代码

git pull失败后,选择reset,
在这里插入图片描述
丢弃本地代码的修改,可以拉去git库上代码而不出现冲突

git hook

git settings中可以添加git hook script,对应事件触发脚本执行
在这里插入图片描述
hook有server端和client端配置,server端可以

  • 在gitee的配置页面配置webhook挂钩实现上传代码通知
  • scm客户端主动轮询,定时发送请求

git rebase

合并选中的多次commit为一次commit或者在不同分支间转移commit

git拉取tags

把"-"改为"tick"即可
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐