zoukankan      html  css  js  c++  java
  • Git基本使用

    Git导入

    • Git是目前世界上最先进的分布式版本控制系统, 由大神Linus花了两个星期用C写的 (真的牛逼...)

    • 集中式: 版本库存放在中央服务器

    • 分布式: 每个人电脑上都有一个完整的版本库

    Git安装

    • 反正我已经安装好了

    创建版本库

    • 打开Git Bash, 输入如下命令
    $ mkdir learngit
    $ cd learngit
    $ pwd  
    /c/Users/Black/learngit
    
    • 再输入如下命令初始化
    $ git init
    Initialized empty Git repository in C:/Users/Black/learngit/.git/
    
    • 把文件 (readme.txt) 添加到版本库
    先新建一个readme.txt文件放入learngit文件夹下面 
    $ git add readme.txt
    $ git commit -m "wrote a readme file"
    [master (root-commit) 72a85ed] wrote a readme file
     1 file changed, 2 insertions(+)
     create mode 100644 readme.txt  
    
    • 总结

    初始化一个Git仓库,使用git init命令。

    添加文件到Git仓库,分两步:

    1. 使用命令git add ,注意,可反复多次使用,添加多个文件;
    2. 使用命令git commit -m ,完成。( -m 后面输入的是本次提交的说明)

    时光机穿梭

    版本回退

    • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
      • git reset --hard HEAD^ 返回上一版本
      • git reset --hard HEAD 7413b 根据版本号返回
    • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    工作区和暂存区

    • git diff 查看工作区和暂存区的区别
    • git diff --cached 查看暂存区和仓库的区别
    • Git管理文件的三种状态: 已修改(modified), 已暂存(staged), 已提交(committed)

    管理修改

    • 第一次修改--->git add--->第二次修改--->git commit

      这样会导致第二次修改没有被提交到版本库

    撤销修改

    • git checkout -- 文件名, 把文件在工作区的修改全部撤销
      • 文件自修改后还没被放到暂存区, 则回到版本库一模一样的状态
      • 已经添加到暂存区, 又做了修改, 则回到添加到暂存区后的状态
      • 总之,就是让这个文件回到最近一次git commitgit add时的状态。

    删除文件

    • rm test.txt 删除工作区文件2
    • git rm test.txt --> git commit -m "remove test.txt" 删除版本库中的文件

    远程仓库

    建立本地和GitHub连接

    • 注册GitHub账户

      • 反正我早就注册过了
    • 创建SSH Key

      • 先检查用户主目录下有没有.ssh目录, 以及这个目录里面有没有id_rsa(私钥)和id_rsa.pub(公钥)两个文件, 如果没有, 进行下面操作

      • ssh-keygen -t rsa -C "邮箱", 然后一路回车即可

    • 登录GitHub--->个人主页点头像--->Settings---->SSH and GPG keys--->SSH keys

      • Title随便输
      • Keys里面拷贝id_rsa.pub 里面的内容

    添加远程库

    • 在GitHub上创建一个learngit库

    • 在本地的learngit仓库下运行命令: git remote add origin git@github.com:MrBigBlake/learngit.git

      • origin 是远程库的默认叫法, 可以改成别的
    • 把本地库内容推送到远程库上 git push -u origin master

      • 把当前分组master推送到远程库

    从远程库中克隆

    • 先在GitHub上创建一个远程库gitskills---->勾选下面的Initialize this repository with a README
    • git clone git@github.com:MrBigBlake/gitskills.git 克隆一个本地库

    分支管理

    创建和合并分支

    • 创建dev分支, 然后切换到dev分支

      • git branch dev
      • git switch dev
      • 当然上面的两步可以简化为git switch -c dev
    • git branch命令查看当前分支

    • dev分支上对readme.txt做个修改, 加上一行Creating a new branch is quick., 然后提交

    • 切回master分支

    • 查看readme.txt, 发现刚添加的内容不见了

    • dev分支的工作成果合并到master分支上: git merge dev

    • 删除分支git branch -d dev

    小结

    Git鼓励大量使用分支:

    查看分支:git branch

    创建分支:git branch <name>

    切换分支:git switch <name> `

    创建+切换分支:git switch -c <name> `

    合并某分支到当前分支:git merge <name>

    删除分支:git branch -d <name>

  • 相关阅读:
    OMFCL 使用
    客户化 Summary 页的 Properties
    瑞星升级包下载
    观察者模式Observer
    单例模式Singleton
    java中8大排序
    向上转型和向下转型
    瀑布流的实现
    [转]降级论
    Grid的使用
  • 原文地址:https://www.cnblogs.com/bigb/p/11761632.html
Copyright © 2011-2022 走看看