美文网首页
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(五十九)虚拟机与远程仓库交互

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