跳转到主要内容

git_sync模块

项目描述

GithubActions ReadTheDocs Pypi Downloads Codecov

git_sync模块。

Github

https://github.com/Erotemic/git_sync

Pypi

https://pypi.ac.cn/project/git_sync

这是一个非常简单的git脚本,用于帮助本地开发和远程执行。它将提交、登录到远程机器,然后在远程机器上拉取的过程转换为一个单独的命令。

假设您的本地和远程机器上的文件结构相同,git-sync允许您在本地编辑文件,当您想将这些更改反映到远程机器上时,您执行

git-sync other-machine

注意,这会创建一个带有消息“wip”的提交并将其推送到默认的git-remote。提交消息和目标git-remote可以通过命令行参数进行修改。

安装

安装git_sync Python模块还会安装git-sync命令行工具。

pip install git-sync

详情

执行git-sync执行以下操作

  1. 在本地仓库上执行git提交(默认提交消息是“wip”,但可以使用-m标志进行更改)。

  2. 执行git push origin,将本地仓库的副本推送到git服务器。(注意,git-sync默认为origin git远程,但您可以使用第二个位置参数指定不同的一个:例如git-sync other-machine remote2)。

  3. 创建到“other-machine”的SSH连接,然后在本地机器上进入相同的目录(这就是为什么在开发机器上镜像目录结构很重要),然后执行一个 git pull origin 命令,这将更新远程机器到新推送的状态。

注意事项

请注意,这个脚本非常简单,如果以下条件不满足,则会失败。

  • 仓库位置(相对于主目录)必须在本地和远程机器上相同。请注意,使用符号链接来确保这一点相对简单。

  • 本地机器和远程机器上的仓库必须在同一分支上。

  • 远程机器上的仓库必须处于干净状态。

关于SSH配置

为了简化操作,最好您有一个$HOME/.ssh/config文件,其中包含您要访问的远程机器和适当的身份验证文件,这样您在每次执行git-sync时就不需要输入密码。

一个示例ssh配置条目是

Host {myremote} {myremote.com}
    HostName {myremote.com}
    Port 22
    User {username}
    identityfile ~/.ssh/{my_id_ed25519}

{大括号}中的任何条目替换为适当的值。

如果您没有ssh身份验证文件,可以使用以下命令创建一个:

mkdir -p $HOME/.ssh
cd $HOME/.ssh

FPATH="$HOME/.ssh/my_id_ed25519"
ssh-keygen -t ed25519 -b 256 -C "${EMAIL}" -f $FPATH -N ""

chmod 700 ~/.ssh
chmod 400 ~/.ssh/id_*
chmod 644 ~/.ssh/id_*.pub

并确保公钥已在远程机器上注册

REMOTE={myremote.com}
REMOTE_USER={myusername}
ssh-copy-id $REMOTE_USER@$REMOTE

类似软件

  • CFarm 是一个用于保持远程同步并在远程机器上测试代码的工具。

  • Visual Studio Code 提供了出色的远程SSH和开发支持。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

git_sync-0.2.0.tar.gz (9.3 kB 查看哈希)

上传时间 源代码

构建分发

git_sync-0.2.0-py3-none-any.whl (6.7 kB 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面