zoukankan      html  css  js  c++  java
  • <Git>git学习

    1.安装

      分布式版本控制:工作电脑保存完整的代码,中央服务器挂了也可以使用

      集中式版本控制:中央服务器挂了就凉凉

    1 sudo apt-get install git
    git安装

    检测安装成功

    git 

    2.创建版本库

     新键一个目录git_test

    mkdir git_test
    

      

    初始化git init

    git init
    

     

    3.版本的创建和使用

    在git_test目录下创建一个文件code.txt

    touch code.txt

    创建一个版本

    设置邮箱

    git config --global user.email '你的邮箱'

    设置用户名(作者)

    git config --global user.name '小黑'
    

      

    增加版本文件(可以添加多个文件,一起commit)

    git add code.txt
    

    提交版本文件,后面是版本说明

    git commit -m '版本1.0'  

     

    查看版本情况

    git log
    

     

    可以看到commit后面的版本序列号

    commit 02fc1b4e2bba0d2d44485f1b0f60c425154b364e
    

     

    更改code.txt后创建新版本,只是记录你相当于前一个版本的情况

    git add code.txt
    
    git commit -m '版本1.1'
    

      

    可以看到新的版本信息

    git log

    版本的回退

    HEAD^:HEAD代表当前版本,一个^代表回退一个版本

    HEAD~回退版本数:~1代表回退一个版本,~100回退100个版本

    回退一个版本

    git reset --hard HEAD^
    

      

    利用版本编号commit后面的数,重新回到当前版本1.1

    git reset --hard 9acd9d0fa55adb14bb0e352bb99761a4144932b1  

    当然用前几个编号就行,回到版本1.0

    git reset --hard 02fc1b4e
    

     

    4. 工作区和暂存区 

    电脑中的目录就是工作区,这里我们的git_test就是工作区

    工作区的隐藏目录.git,而是git版本库,版本库中有个暂存区(git add--工作区进暂存区)(git commit----暂存区到版本情况)

    查看修改情况

    git status
    

    只会管理暂存区的修改,没有提交的暂存区的修改不管理 (简单讲,严格按照步骤来,就没啥事情)

     

    丢弃工作区的修改

     git checkout -- code.txt
    

      

    如果已经提交到暂存区了需要2步(已经ADD)

    1.撤销暂存区

    git reset HEAD code.txt
    

      

    2.撤销工作区

     git checkout -- code.txt
    

      

    对比文件的不同(-代表HEAD版本,+代表工作区的文件)

    git diff HEAD -- code.txt
    

      

    对比2个版本的不同

    git diff HEAD HEAD^
    

      

    删除文件

     rm code2.txt
    

      

    同样可以用撤销工作区的修改,恢复文件,同样的也可以以把删除作为版本的一种

    git checkout -- code2.txt
    

      

    5.分支管理 

    主分支:master分支

    创建分支:就是创建新的指针,改变HEAD的指向

    查看有几个分支

    git branch
    

      

    创建并切换分支(原本的都存在)

    git checkout -b dev
    

      

      

    后面的操作都是在dev分支的操作(只是指针)

    切换分支

    git checkout master
    

      

    合并分支(就是把master指针,放到这个分支这里)

    git merge dev
    

      

    删除分支(去掉指针)

    git branch -d dev
    

      

    冲突的解决(2个分支都修改了同一个文件),无法快速合并,可以手动修改在提交一个新的

    查看冲突的修改情况

    git log --graph --pretty=oneline
    

      

    删除dev分支

     git branch -d dev
    

      

    2个分支不编辑同一个文件,可以进行合并,不会冲突,但是不会快速提交,会帮你合并后进行新的提交,会需要你合并的说明信息

    不使用快速合并,让他进行新的提交(BUG临时分支,就不会进行快速合并,会使用这个)

    git merge --no--ff -m '禁用fast-forward'  dev
    

      

    保存工作现场(去修复bug)

    git stash
    

      

    不使用快速合并修复bug,并删除BUG分支,恢复工作现场(切换回工作区)

    保存工作现场列表

    git stash list
    

      

    恢复现场

    git stash pop
    

      

    6.github网站

     创建仓库、

    settings中绑定SSH

    生成SSH

    在主目录下编辑隐藏文件

    vim .gitconfig 
    

     

    生成ssh

    ssh-keygen -t rsa -C '邮箱'
    

      

    查看

    cd .ssh
    

     

    cat id_rsa.pub
    

      

    将得到的公钥放在github上

    克隆项目

    在Ubuntu上使用指令克隆项目

    git clone git@github.com:HEKAI3-2/xiaohei.git
    

      

    开发上传

     

     

    本地分支跟踪远程分支

    git branch --set-upstream-to=origin/dev dev 
    

      

    编辑新的文件,提交不推送

    可以查看跟远程分支的比较情况,并推送

    从远程分支上拉取代码

    git pull origin dev
    

      

    实际使用git

    最简单的掌握

  • 相关阅读:
    PowerShell笔记
    Windows难民安装docker的注意事项
    minix3使用轻快入门
    gentoo(贱兔) Linux作业系统的基本使用
    Artix Linux作业系统的使用~
    CentOS7搭建sftp
    Hello Wolrd
    Android开发技术周报 Issue#1
    Android开发技术周报 Issue#4
    Android开发技术周报 Issue#3
  • 原文地址:https://www.cnblogs.com/shuimohei/p/11688785.html
Copyright © 2011-2022 走看看