Git 的使用

Git 的使用

  • 两大特点:
    • 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题
    • 分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。

安装

sudo apt-get install git

Git使用

  • 创建一个版本库

    git init
    
  • 创建版本

    git add 文件名  // 将文件名加入到版本库中
    git commit -m '版本信息'  // 提交
    
  • 查看版本记录

    git log
    git log --pretty=oneline  // 带参数,简略显示
    
  • 回退版本

    git reset --hard HEAD^
    git reset --hard HEAD~1  // 后面的数字表示前多少个版本
    
  • 回到之后的版本

    git reset --hard 版本号
    

    • 前面那堆黄色的就是版本号,写的时候复制前几个就可以了
  • 查看操作记录

    git reflog
    
    • 若回到之前的版本后,终端不小心关了,又想回到之后的版本,这时就可以查看操作记录,里面可以查到版本号
  • 工作区:你所操作的目录,即你代码文件所存在的目录

  • 版本库:在工作区目录下有个.git ,它就是版本库,里面有很多东西,其中最重要的就是称为stage(或者叫index)暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD
    可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

  • 查看当前工作区的状态

    git status
    
    • 只要 commit 后,又没有新的操作,工作区就是干净的
    • 只要没有 commit ,查看工作区状态就可以根据提示取消暂存,以及放弃修改回到修改前,但若 commit 后 ,就之只能版本回退回到之前的
  • 取消暂存、丢弃工作区

    git reset HEAD 文件名  //取消暂存  (add后没有commit)
    git checkout -- 文件名  //丢弃当前工作区  (没有add)
    
    
  • 对比工作区中文件与之前的不同

    git diff HEAD -- 文件名
    
    
  • 对比两个版本间的文件的不同

    git diff HEAD HEAD^ -- 文件名
    
    
  • 删除

    git rm 文件名
    git commit -m '版本信息'
    
    
    • rm 删除了文件,若是真的想删,可以执行上面的两条语句,若是不小心,也可根据工作区的提示 checkou 一下,这样删除的文件就又回来了
    • 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失 最近一次提交后你修改的内容

分支

  • 分支就像工厂里一件产品的两条流水线,它们各自相互独立,当它们合并在一起时,一件完整产品就出来了

  • 创建分支并切换到该分支

    git checkou -b 分支名
    
    
  • 查看当前在哪条分支

    git branch
    
    
  • 切换分支

    git checkout 分支名
    
    
  • 合并某分支到当前分支

    git merge 分支名
    
    
    • 合并分支有时可能会有冲突,这时就需要手动去修改,然后提交
  • 删除分支

    合并完后就可以删除了

    git branch -d 分支名
    
    
  • 显示分支合并情况

    git log --graph --pretty==oneline
    
    
  • 不使用快速合并:会做一次新的提交

    git merge --no-ff -m '说明信息' 分支名
    
    
  • 保存当前工作现场

    git stash
    
    
  • 查看之前保存的工作现场

    git stash list
    
    
  • 恢复工作现场

    git stash pop
    
    

    应用场景:当你在工作时,有一个bug需要你去紧急修复

    1. ​ 先git stash保存当前你的工作现场
    2. 确定bug在哪条分支上,在该条分支上创建一条临时分支
    3. 在临时分支上修复bug ,修复完成,切回该分支,完成合并(尽量不要用快速合并),然后删除临时分支
    4. git stash pop 恢复之前的工作现场

使用GitHub

  • SSH 生成

    ssh-keygen -t rsa -C "邮箱地址"
    
    

    主目录下的**.ssh** 文件夹中,id_rsa.pub文件里的内容就是

  • 克隆项目

    git clone 网址
    
    
    • 若克隆出现错误,执行

      eval "$(ssh-agent -s)"
      ssh-add
      
      
  • 上传分支

    git push origin 分支名  // 推送该分支到github上
    
    
  • 本地分支跟踪服务器分支

    git branch --set-upstream-to=origin/远程分支名称 本地分支名称
    
    
  • 从远程分支上拉取代码

    git pull orgin 分支名称
    
    

END…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值