美文网首页
Python(五十九)虚拟机与远程仓库交互

Python(五十九)虚拟机与远程仓库交互

作者: Lonelyroots | 来源:发表于2022-01-19 12:25 被阅读0次

在Ubuntu里新建版本库

mkdir git_workspace:创建一个git_workspace目录。
git --version:查看git的版本。
git --help:查看git的操作方法。
git init:新建版本仓库。

配置仓库的个人信息

git config user.name 'ch':局部配置用户名字。
git config user.email 'ch@qq.com':局部配置用户邮箱。


git config --global user.name 'ch':全局配置用户名字。

查看暂存区与仓库

git status:查看暂存区的文件是否有变更或是否有提交,如下图所示,test.py文件有变更,未提交(红色表示未提交,绿色表示已提交)。


git add test.py:将文件test.py提交到暂存区。

git commit -m 'add test.py v1.0.0':将暂存区的内容提交到本地仓库区。
版本号:第一个数字是大版本号,一般是比较革命性的;第二个数字是需求版本,添加新功能。但未对整体带来冲击;第三个数字是小版本,对需求版本的问题修复或在设计时功能遗留等补充型版本。
git status:将暂存区文件提交到本地仓库区后,我们再来查看,会发现暂存区文件已被移动至本地仓库区,暂存区文件已清除。

git log:查看本地仓库区提交文件版本,不能查看已删除文件的记录。黄色的是id,绿色的是分支,白色的是文件信息。

git reflog:查看本地仓库区提交文件版本,能查看已删除文件的记录。黄色的是id,绿色的是分支,白色的是文件信息。
vim test.py:修改test.py文件。
git status:查看暂存区文件版本状态。
git commit -am 'new add content v1.0.1':直接将文件提交到本地仓库区,不经过暂存区。【注】每个版本仓库第一次提交必须得先执行跟踪,即先提交到暂存区,才能提交到本地仓库区。
git reflog:查看本地仓库区提交文件版本,能查看已删除文件的记录。黄色的是id,绿色的是分支,白色的是文件信息。

回溯文件版本

git reset --hard HEADHEAD表示当前版本 ,可以写成HEAD~0HEAD^表示上个版本也可以写成HEAD^1HEAD~1HEAD^^表示上上个版本也可以写成HEAD^2。其它以此类推......
git reset --hard HEAD^1:回溯到上个版本,通过git reflog查看,会发现将回退日志也一并存储在了本地仓库区中。


git reset --hard 8a54ec9:可以通过id,想进到哪个版本就进到哪个版本。

复制粘贴日志id

在Ubuntu里复制内容可以通过Ctrl + Insert快捷键,在Ubuntu里粘贴内容可以通过Shift + Insert快捷键。

分支操作

提交全部文件:git add .:将修改了的工作区的文件,全部提交到暂存区,通配符“.”。
git reset test.py:撤销暂存区的代码


git branch:列出本地分支及其所在分支(绿色的表示所在分支)。

git branch -v:列出本地分支及其所在分支的版本。

git branch hot-fix:创建热修复分支。

git checkout hot-fix:切换到热修复分支。

vim test.py:修改test.py文件,git add .:提交所有文件到暂存区。git commit -m '热修复Bug v1.0.2':将暂存区的文件提交到本地仓库区。

git merge hot-fix:将master分支里的内容更新成hot-fix里的内容,不过需要先切换回master。

在master分支下,修改文件,并提交到本地仓库区。

在hot-fix分支下,修改文件,并提交到本地仓库区。

然后切换回master,将master里的内容更新成hot-fix里的内容,会发现产生了合并冲突。

部署公钥:

先在Ubuntu用户机上输入ssh-keygen -t rsa -C "Lonelyroots@qq.com"生成公钥,然后按多下回车,直至公钥生成完毕。


输入cat ~/.ssh/id_rsa.pub:查看公钥。

然后到远程仓库区(这里我用的是Gitee—码云),部署公钥。

出现如下界面表示公钥部署成功。(这里部署的公钥是只有从远程仓库中克隆下载文件的功能,并没有将用户虚拟机的文件推送到远程仓库区的功能)

返回用户机当中查看是否连接成功,输入ssh -T git@gitee.com,出现如下结果,则表示连接成功。

虚拟机与远程仓库区之间的文件互通。


git clone git@gitee.com:chen-baihong/ls_shopping_center.git:通过指令,虚拟机可以克隆/下载远程仓库区的文件。

克隆后,在这个工作区,自动创建了一个本地仓库

git remote -v:通过此程序查看绑定的远程仓库。

git remote rm origin解除绑定origin。
git remote add ls_shopping_center git@gitee.com:chen-baihong/ls_shopping_center.git:重新绑定,并修改仓库别名(别名最好和项目名一致)。

这里因为修改时,未与项目名一致,所以再做一次修改,此时仓库别名为Ls_shopping_center。

git config user.name 'Lonelyroots'git config user.email 'Lonelyroots@qq.com'配置个人信息。

vim test.py:新建了一个test.py文件。git add .:将工作区文件提交到暂存区。git commit -m '增加test.py文件测试远程仓库 v1.0.0':将暂存区文件提交到本地仓库区。

【注】:第一次提交必须得先执行跟踪,即先提交到暂存区,才能提交到本地仓库区,否则就会出现下方的错误。

这里需要先部署公钥,上文已经说过如何部署公钥了,不过只有读的功能,功能不齐全,而这次部署的公钥是同时具有克隆与推送(即读与写)的功能。

git push Ls_shopping_center master:将本地仓库区的文件推送到远程仓库Ls_shopping_center 的master分支上。


可以直接在远程仓库区修改test.py文件,然后通过拉取pull下载到虚拟机中。(克隆是初始化仓库时使用,之后获取更新文件统一用拉取操作)

git pull Ls_shopping_center master:将在远程仓库区中更新的文件拉取到虚拟机当中。可以看到下图中运行test.py文件,结果发生了改变,说明拉取修改的文件成功了。

文章到这里就结束了!希望大家能多多支持Python(系列)!六个月带大家学会Python,私聊我,可以问关于本文章的问题!以后每天都会发布新的文章,喜欢的点点关注!一个陪伴你学习Python的新青年!不管多忙都会更新下去,一起加油!

Editor:Lonelyroots

相关文章

  • Python(五十九)虚拟机与远程仓库交互

    在Ubuntu里新建版本库 mkdir git_workspace:创建一个git_workspace目录。git...

  • Coding.net远程仓库与本地同步

    1.本地安装git软件,借助git辅助完成本地仓库与远程仓库的交互 git地址:https://git-scm.c...

  • 版本库交互

    版本库间的交互分为本地仓库推送到远程仓库和远程仓库拉取到本地仓库。 将工作区中的代码合并到本地仓库的操作叫做提交,...

  • Sourcetree 出现错误提示git -c diff.mne

    具体表现为:sourcetree无法和gitlab远程仓库进行交互,但使用本地cmd,可以使用git命令和远程仓库...

  • Git全解析之远程仓库交互

    Git全解析之远程仓库交互 中央仓库的概念 虽然说git是分布式版本控制工具,但同样有远程仓库的概念。出于各种目的...

  • Git 配置身份

    目的 为了在以后的交互中能更友好的操作,推荐使用 SSH 方式与 Gitub远程仓库交互,并提交自己的身份信息到自...

  • git简单命令手册

    常用的git命令整理 基本操作 与远程仓库的交互 rebase(变基) git pull 相当于git fetch...

  • Git 入门到放弃

    简介 git关联远程仓库 本地仓库与远程仓库同步问题 Git 终端命令 git关联远程仓库 基本流程 注册gith...

  • git关联远程仓库

    如需克隆远程仓库代码 直接与远程仓库建立链接 最后提交

  • Git 创建仓库和更换远程仓库地址

    创建仓库 1. 本地初始化git仓库 2. 添加远程仓库 3. 本地仓库与远程仓库关联 4. 拉取远程仓库内容到本...

网友评论

      本文标题:Python(五十九)虚拟机与远程仓库交互

      本文链接:https://www.haomeiwen.com/subject/rwcrhrtx.html