代码备份以及协同工具——git

目录

是什么

二者不同

作用

特点

安装

命令安装

源码安装

配置

命令

三种配置级别

配置信息

基本操作

恢复操作

标签管理(版本管理)

临时工作区管理

远程仓库



用的最多的代码管理工具大概有两种:git和svn,本文主要介绍git工具

是什么

是一个代码协同管理、代码备份管理工具

二者不同

分布式和集中式
分布式:每一个结点都保存完整的代码,没有统一的中央服务器,节点之间相互推送下载代码完成代码共享,例如 git
集中式:代码集中管理,每次完成的代码上传到中央管理器,然后再统一从中央管理器中下载代码使用,例如 svn

安全性:git < svn

效率:git > svn


作用

  • 防止代码丢失,可以做备份
  • 代码版本的管理,可以进行多个版本之间的跳跃
  • 可以方便的将代码在多人之间进行共享传输
  • 多人开发时,有各种模式可以方便代码管理

特点

  • git 可以管理各种文件,特别是代码项目,多在 linux 和 unix 系统中使用
  • 是分布式管理,不同于集中式,这是 git 和 svn 的核心区别
  • git 可以很好的支持分支,方便多人协作工作
  • git 分布式代码分家安全,有全球唯一的 commit 版本号
  • git 是开源的系统
  • 使用 git 可以脱网工作,且数据传输速度较快

安装

命令安装

sudo apt-get install git

源码安装

去官网找源码包

将源码包拷贝到虚拟机后解压

make   编译源码

make   install


配置

命令

git config

三种配置级别

(1)系统中所有的用户都可以使用该配置(加sudo)

                git config --system 配置信息

(2)当前用户可使用该配置

                git config -- global 配置信息

                配置文件是:~/.gitconfig

(3)当前项目可使用该配置

                git config

                配置文件是:当前项目下的 ./.git/config

配置信息

(1)配置用户名

                git config --system user.name you

(2)配置邮箱

                git config --system user.email xxxxxxxxxxx

(3)配置编辑器

                git config core.editor vim

(4)查看当前所有的配置信息

                git config --list

(5)命令行是否有颜色

                color.ui true


基本操作

(1)初始化仓库

                git init

                在某个目录下初始化仓库后会自动产生.git 目录,改目录下工作的所有文档可使用 git 进行管理

(2)查看文件、分支状态

                git status

(3)将指定的文件提交到暂存区

                git add

                        将指定文件(任意文件类型的文件)提交到暂存区

                git add * 将当前目录下所有的文件提交到暂存区

                        注意: 提交到暂存区的文件没有存放在本地仓库中

                git rm --cache 删除暂存区的指定文件

(4)将暂存区的文件提交到本地仓库

                git commit -m 将文件同步到本地仓库并且设置提示说明

                        注意: 一般提示时需要附加一些同步信息,在-m 后添加 所有对工作区的修改,如果想同步到仓库,都需要执行当前命令(add --> commit)

(5)查看 commit 日志

                git log 查看所有 cimmit 日志

                git log --pretty=oneline 查看单行日志

(6)比本地文件和本地仓库中文件的区别

                git diff <文件名>


恢复操作

(1)从本地仓库恢复本地文件

                git checkout

(2)丢弃工作区的修改

                git checkout -- 丢弃本地指定文件中的已经修改的内容(--两边都有空格)

(3)本地仓库文件的移动和删除

                git mv 在本地仓库中将源文件移动目的目录中(本地也会移动)

                git rm 在本地仓库中删除指定的文件(本地也会删除)

                        注意: 移动和删除后,需要再次执行 git commit

(4)回到上一个版本

                git reset --hard HEAD^       HEAD 后面的^数量决定了回到上几个版本

(5)回到指定的版本

                git reset --hard 只需要 commit id 的前七位即可

(6)查看所有的历史版本

                git reflog 最新的操作始终在最上边


标签管理(版本管理)

(1)什么是标签

                在当前工作的位置添加快照,保存工作状态,一般用于版本的迭代

(2)创建标签

                git tag 创建标签

                git tag -m 创建标签并设置提示信息

                        例如:git tag v1.0 默认是在最新的 commit id 处创建标签

                git tag 指定某一个 commit id 处创建标签

(3)查看标签

                git tag

(4)删除标签

                git tag -d

(5)查看指定标签的具体信息

                git show

(6)恢复到指定标签的位置

                git reset --hard


临时工作区管理

(1)创建保存临时工作区

                git stash

(2)查看临时工作区

                git stash list

(3)使用指定的工作区

                git stash apply stash@{编号}

(4)使用最新的临时工作区并删除

                git stash pop

(5)删除指定的临时工作区

                git stash drop stash@{编号}

(6)删除所有的临时工作区 git stash clear


远程仓库

(1)什么是远程仓库

                另一台主机上的仓库,可以被其他主机访问到

(2) 创建远程仓库

        2.1)创建文件夹 mkdir

        2.2)设置文件夹的属主 chown :

        2.3)进入文件夹,将该文件夹设置为共享仓库 git init --bare (项目名称一般都是以.git 结尾)

        2.4)设置本地仓库的属主 chown -R :

(3)添加远程仓库

                git remote add @:

                        注意: 默认使用 ssg 作为传输手段,仓库名称可以任意起名字 必须在本地的某个 git 仓库下执行,才能是本地仓库和远程仓库关联

(4)删除远程仓库

                git remote rm

(5)将本地仓库的文件推送到远程仓库

                git push -u

                        注意:第一次推送需要加-u,以后不需要

(6)从远程仓库获取项目

                git clone @:

(7)从远程仓库拉取分支或者代码,可以更新代码

                git pull 拉取远程仓库指定的分支并且与当前分支合并

                git pull : 不合并

(8)代码推送和更新

                git push 将本地仓库的文件推送到远程仓库

                git pull 从远程仓库中更新代码

                git fetch 也用于更新,但是如果有新的分支不会合并

(9)本地旧覆盖版远程新

                git push --force 当本地比远程旧,用本地覆盖远程


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的杨先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值