git_sync模块
项目描述
git_sync模块。
Github |
|
Pypi |
这是一个非常简单的git脚本,用于帮助本地开发和远程执行。它将提交、登录到远程机器,然后在远程机器上拉取的过程转换为一个单独的命令。
假设您的本地和远程机器上的文件结构相同,git-sync允许您在本地编辑文件,当您想将这些更改反映到远程机器上时,您执行
git-sync other-machine
注意,这会创建一个带有消息“wip”的提交并将其推送到默认的git-remote。提交消息和目标git-remote可以通过命令行参数进行修改。
安装
安装git_sync Python模块还会安装git-sync命令行工具。
pip install git-sync
详情
执行git-sync执行以下操作
在本地仓库上执行git提交(默认提交消息是“wip”,但可以使用-m标志进行更改)。
执行git push origin,将本地仓库的副本推送到git服务器。(注意,git-sync默认为origin git远程,但您可以使用第二个位置参数指定不同的一个:例如git-sync other-machine remote2)。
创建到“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 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab9f280995970b70ec937dde6e168180adf461f336e77ef7f058196587d6faba |
|
MD5 | cf6940d31efda3f876a4dc9a18a2d2ac |
|
BLAKE2b-256 | 3d778a0e79ca611eb0a636e612c83e8ab02efdd44d1f4fe7f0a779380c7008ae |
git_sync-0.2.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5786fb64383e39149179d17ba05eeaf8d7ca0f5191a8f48f9ac910d41090c25e |
|
MD5 | 269ed967c124d70d584f41fddfeec764 |
|
BLAKE2b-256 | fd7cfba5ecc37c98ebb7280e0205becd3bc70bf87a2b4335959db5fefd0d9b96 |