在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 HEAD
:HEAD
表示当前版本 ,可以写成HEAD~0
;HEAD^
表示上个版本也可以写成HEAD^1
或HEAD~1
;HEAD^^
表示上上个版本也可以写成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
网友评论