• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Linux 分布式版本控制系统git,教向gitee上推代码

武飞扬头像
星星失眠️
帮助1

目录

什么是git?

安装git

 创建版本库

工作区和版本库、

向版本库中添加文件

 版本回退

远程操作


什么是git?

 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

linux是一个开源软件,第一版本,第二版本不同怎么控制?

 Git 与常用的版本控制工具 SVN, Subversion 等不同,它采用了分布式版本库的
方式,不必服务器端软件支持。
学新通

 SVM就相当于分布式中讲的单点,但分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。他们的代码,资源都相同,就是三个相同的副本。

安装git

1.用git命令查看是否已安装
git --vertion
2.安装
  1.  
    sudo yum install git//centos
  2.  
    sudo apt-get intall git//ubuntu
 3 进行配置,指定使用git的账号和用户名
  1.  
    git config --global user.name "Your name"
  2.  
    git config --global user.email "Your email“

学新通

 创建版本库

版本库又称仓库,仓库中存放被git管理的文件,每个文件的修改、 删除,git都能够跟踪,可以方便追踪历史。

创建仓库方法:

学新通

 创建成功,多了.git目录,用来跟踪管理版本库的,不能删除!

工作区和版本库、

工作区指工作目录,而工作区有一个隐藏目录.git,这个不算工作区,而是Git的版
本库,该文件夹就是用于管理当前目录中所有文件的改动的。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存
,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫
HEAD
学新通

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

向版本库中添加文件

  1.  
    git add filename
  2.  
    git add --all .//添加所有文件
工作区中的文件是可以被追踪的,但是只有告诉git哪些文件需要追踪,它才会显式的去追踪
该文件,否则git永远会在你提交的时候告诉你工作区还用哪些文件处于Untracked状态 而a
dd命令就是用来显式告诉git哪些文件从此时开始追踪。
git commit
命令保存某个文件的修改,记录下该文件当前快照。然后用 commit命令向分支上提交
位于分支上的每个点都是一次commit留下的。当然回滚的时候也是根据需要回滚到指定的点
上。
例:
前提:在刚创建的repo_git目录(或子目录)下建立文件,如 “zn.txt”,添加内容
步骤: git add README.txt # 没有输出
            git commit –m “A description for the…”
            git status #查看状态
学新通

 版本回退

前提: 后续开发需要修改之前的文件,如zn.txt, 想退回之前的版本
status命令是用来查看当前工作区状态的 ,也就是说它会把 当前工作区的所有文件状态
地分支上最近一次的提交 进行比较,并列出所有做出的修改条目。
git status
diff命令也是用来查看当前状态的,只是它不同于status,它比较的是 工作区 暂存区 之间
的区别。
git diff

查看历史提交信息

git log
reset命令能够实现回退历史版本。
git reset 
git reset –-hard HEAD^ # 退回后新的不存在了,若git log还存在可用版本号回退
git reset –-hard 版本号(来自git log)
git reflog # 记录每一次更改,可找到最新版本
学新通

 学新通

 再去看zn.txt里面的内容的时候,就是上次的了,因为回退了

 学新通

reflog 记录每一次修改

撤销修改(删除)
1. git checkout -- filename ,回到最近一次git commit或git add时的状态。
若未放到暂存区,回到和版本库一样的状态
若放到暂存区,则回到添加到暂存区后的状态
2. git reset HEAD filename:撤销暂存区中的内容(git add)
3. git rm filename:删除提交到版本库中的文件 (错删,则git checkout -- filename
从版本库恢复)

远程操作

前提:已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让
这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其
他人通过该仓库来协作
步骤:登录github(gitee),创建和项目同名repository
例如:git remote add origin git@github.com:Coder-Peng/repo_git.git
git push -u origin master #第一次提交本地库

学新通

学新通

建立仓库

学新通

 学新通

我已经用学校分的虚拟机上安装了git

设置用户名和邮箱(这里我不明白是不是必须和gitee上的用户名和邮箱对应,因为gitee给的教程是,会问老师)

学新通

学新通

 学新通

 创建仓库学新通

 创建文件-》添加到暂存区(没有输出)-》提交master分支

学新通

学新通

 学新通

 学新通

 这是我文件中的内容,我开始回退

学新通

学新通

 因为头指针head一直指向最新的,所以一直回退,我回退到第一次提交的时候了

查看历史修改信息

学新通

 ‘我修改了文件内容,但是我不提交到暂存区更没有提交到分支

学新通

撤销(删除) 

以此来检验checkout 回到哪里了?

没有放到暂存区,回到了和版本库一样的状态

如果放到了暂存区,也就是使用了add命令了,则回到添加到暂存区之后的状态

让我们来试试吧

 学新通

学新通

 以上是我没有提交到暂存区的情况,它回退到了和版本库一样的状态(从版本库拿到最新的版本),也就是我修改的内容“加油复习考试”这句话删除了,不见了

学新通

学新通

 只要我使用了add命令提交到了暂存区,会不会退一点影响都没有,因为他是回退到了添加到暂存区一样的状态

问老师:不明白

学新通

学新通

 远程操作,向gitee上推代码
 

git remote add origin git@gitee.com:star-insomnia-zhang-na/myproject.git
git push -u origin master 第一次提交本地库

要选中SSH

学新通

 你想直接往gitee上推代码,是推不了的,提示的错误也说你没有公钥,

服务器并不能让任何人向我们的git服务器上推送代码,只能让有凭证的人向服务器推送,git本地和gitee服务器之间是通过ssh对称秘钥来完成两者的身份确认的学新通


ssh-keygen -t rsa -C "2091691459@qq.com"通过这个来获取公钥私钥

学新通

学新通

 学新通

 点击怎样生成公钥,gitee给了详细介绍

学新通

 学新通

 查看公钥私钥

学新通

 学新通

这样复制上去公钥是一段一段的  不行  输入的密码是正确的但一直显示指纹不对 

解决方法 ----------不太理解这样为啥就行了,

学新通

 在终端输入

ssh -T git@gitee.com、

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。

学新通

成功了 

学新通

 不要按照gitee上的帮住手册整部署公钥,这样不能往上推代码,试了好久,耽误了好长时间,把部署公钥删除之后添加公钥

学新通

 在这里

学新通

 学新通

学新通 

我用了一上午的时间终于完成了向gitee上推程序,你也试试吧,有很多细节需要注意,一定要耐心解决呀

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgaghij
系列文章
更多 icon
同类精品
更多 icon
继续加载