git 本地与服务器的同步

本文详细介绍了如何在Git中解决推送冲突,并通过脚本实现本地与服务器文件的同步,包括设置配置、使用特定命令及理解相关原理。

如果在服务器上直接用 git init
则会自动在当前目录创建.git目录
但在本地clone后修改后,不能push,
这是由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:

[receive]
denyCurrentBranch = ignore

在初始化远程仓库时最好使用 git --bare init

需首先手工创建.git目录,进入.git目录后再执行此命令

本地克隆服务器的命令
git clone username@host:/path/to/directory/.git


push后服务器目录里没有反应,这时可以在working directory使用

git reset --hard

才能看到push后的内容。

如果执行此命令出现错误
fatal: This operation must be run in a work tree

可以在服务器上先执行一下
git config core.bare false
执行完此命令,则本地不能再push到服务端,如若需要再次push 则执行一下
git config core.bare true

 

可以把以下命令做成脚本,每次push后执行即可实现服务器与本地的文件同步:


git config core.bare false
git reset --hard
git config core.bare true

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值