Git 使用笔记

简介

  1. 定义
    Git,最先进的分布式版本控制系统之一,最初是由Linux之父Linus为了更好管理开源Linux系统而开发的一个软件;

  2. 下载:https://npm.taobao.org/mirrors/git-for-windows/

  3. 安装

    • Linux:sudo apt-get install git
    • Windows、macOS通过官网下载安装包后进行安装即可;
  4. 设置

    安装完成后,设置署名和邮箱:

    $ git config --global user.name "user name"
    $ git config --global user.email "example@email.com"
    # 可选,让Git命令行显示颜色
    $ git config --global color.ui true
    

版本库创建及管理

  1. 如何创建版本库

    • 先创建一个空文件夹,Windows下不再介绍,Linux以及macOS下可通过$ mkdir gitlearn命令创建;
    • 通过$ git init将刚才创建的目录变为可管理的仓库;

  2. 如何将文件添加到版本库

    • 在刚才创建的空文件夹中,添加你自己的文件,以readme.md为例;

    • git add命令将文件添加到仓库;

      # 添加单一文件
      $ git add readme.md
      # 添加所有文件
      $ git add .
      
    • git commit将文件提交到仓库;

      $ git commit -m "this is a readme.md file."
      
  3. 如何查看仓库修改的内容

    • git status查看仓库当前状态;

    • git diff filename查看文件具体修改的内容;

      $ git status
      $ git diff readme.txt
      
    • git log查看最近到最远的提交日志

      $ git log --pretty=oneline
      
    • 回退之前的版本,先用git log查看提交历史,以确定commit_id,回退后,当想要重返未来版本时,用git reflog查看命令历史,从而确定重返版本commit_id,HEAD指向当前版本,为了在版本的历史之间穿梭,使用命令git resrt --hard commit_id

      $ git reset --hard HEAD^
      
    • 直接丢弃工作区的某文件修改内容时,使用命令git checkout -- filename

      $ git checkout -- readme.md
      
    • 删除文件,先在工作区将文件删除后,然后使用命令git rm将版本库中文件删除,然后通过git commit提交

      $ git rm readme.md
      $ git commit -m "delete readme.md"
      

远程仓库

  1. 本地Git和远程Github相连接,可以进行如下操作:

    • 确定.ssh目录下是否存在文件id_rsaid_rsa.pub,有则复制id_rsa.pub中内容明将其添加到Github中的SSH Key,建立两者联系,可以在本地管理,

    • 不存在则通过如下命令生成;

      $ ssh-keygen -t rsa -C "example@email.com"
      
  2. 如何添加远程仓库

    • 在本地通过如下命令建立本地仓库与远程仓库进行管理,然后就可以将本地仓库内容推送到Github仓库;

      $ git remote add origin git@github.com:cunyu1943/LeetCode.git
      
    • 从远程仓库克隆岛本地:

      $ git clone https://github.com/cunyu1943/LeetCode.git
      
  3. 将本地仓库内容推送到远程仓库;

    # 第一次推送
    $ git push -u origin master
    # 之后的推送
    $ git push origin master
    

分支管理

  1. 创建并切换分支

    $ git switch -c dev
    # 等价命令
    $ git checkout -b dev
    # 等价命令
    $ git branch dev
    $ git checkout dev
    
  2. 查看当前分支,前边标有 ∗ * 代表当前分支,切换回master分支;

    $ git branch
    $ git checkout/switch master
    
  3. dev分支合并到master​分支;

    $ git merge dev
    
  4. 删除分支;

    $ git branch -d dev
    
  5. 强制删除未合并分支;

    $ git branch -D dev
    
  6. 查看分支合并图

    $ git log --graph
    

多人协作

  1. 查看远程库信息:git remote -v

  2. 本地新建分支若不推送到远程,则对其他人不可见;

  3. 本地推送到远程库,git push origin branch-name,若推送失败,则用git pull抓取远程新提交;

    $ git push origin master
    # 若推送失败,则先执行如下命令
    $ git pull
    
  4. 本地创建和远程分支对应分支,git checkout -b branch-name origin/branch-name

    $ git checkout -b dev origin/dev
    
  5. 建立本地分支和远程分支的关联,git branch --set-upstream branch-name origin/branch-name

    $ git branch --set-upstream dev origin/dev
    
  6. 从远程抓取分支则使用git pull,若有冲突,则先解决处理后再处理;


标签管理

  1. 切换到需要打标签的分支git switch branch-name

  2. 打标签并查看;

    # 打一个名为"v1.0"的标签
    $ git tag v1.0
    # 查看所有标签
    $ git tag
    
  3. 查看标签信息,git show <tagname>

    $ git show v1.0
    
  4. 创建带有说明的标签,用-a打标签名,-m指定说明文字;

    $ git tag -a v1.0 -m "version 1.0 released"
    
  5. 删除标签,本地使用git tag -d <tagname>,远程则使用git push origin :refs/tags/<tagname>

    # 删除本地标签
    $ git tag -d v30.0
    # 删除远程标签
    $ git push origin :refs/tags/v30.0
    
  6. 将标签推送到远程git push origin <tagname>

    # 推送某一标签
    $ git push origin v1.0
    # 推送所有标签
    $ git push origin --tags
    

建立 Github 和 Gitee 共同远程连接

  1. 删除某一关联的远程库,git remote rm <basename>

    $ git remote rm origin
    
  2. 关联Gitee远程库,git remote add <basename> git@https://gitee.com/<username>/<respName>.git

    $ git remote add gitee https://gitee.com/cunyu1943/LeetCode.git
    
  3. 关联Github远程库,git remote add <basename> https://github.com/<username>/<respName>.git

    $ git remote add github https://github.com/cunyu1943/LeetCode.git
    
  4. 推送到Gitee和Github

    # 推送到Gitee
    $ git push gitee master
    # 推送到Github
    $ git push github master
    

其他小技巧

  1. 忽略特殊文件

    此时需要编写.gitignore文件,文件要放到版本库中,且可以对.gitignore进行版本管理;

  2. 配置命令别名

    # 举例
    $ git config --global alias status st
    $ git config --global alias checkout co
    $ git config --global alias commit cm
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

村雨遥

众筹一毛买键盘!

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

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

打赏作者

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

抵扣说明:

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

余额充值