git

git简介

Linus->linux->no svn->bitKeeper->git
集中式版本控制工具SVN与分布式版本控制工具GIT的差异:
在这里插入图片描述
在这里插入图片描述

git命令:

1, git init

(初始化git,在文件夹里面会生成隐藏文件.git,初始化本地仓库)

2,远程仓库github
  • 1,注册github账号
  • 2,在github创建上创建一个项目(仓库)
  • 3,秘钥的配置,创建SSH Key。

在用户主目录下,看看有没有.ssh目录,
如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -C "youremail@example.com",你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,无需设置密码。

C:\Users\Administrator\.ssh
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 4,本地环境的配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    5,本地分支与远程分支建立联系

  • git remote add origin https://github.com/StickInsect2/blog.git, 添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

  • git push -u origin master: 把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

  • 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

  • git pull origin master: 就是把远程仓库的master分支的资源pull到的本地的目录上

3, git日常操作流

在这里插入图片描述

4,本地仓库和远程仓库的关联
  1. 查看远程仓库:git remote -v
  2. 添加源仓库地址为远程仓库:git remote add <name> <remote>
  3. 远程仓库重命名:git remote rename old new
5,基础工作流
  1. 克隆仓库:git clone <respository>
  2. 提交内容到远程仓库:gti push <remote> <branch>
  3. 查看当前文件 的状态:git status
  4. 提交到缓存区:git add <pathspec>git add .就是把工作目录上的所有文件提交到缓存区
  5. 提交到本地仓库:git commit -m "注释"

在这里插入图片描述

6,花式撤销
  1. 撤销工作区的修改:git checkout--<file>,(注意:这里的--要加上,如果不加就是下面 的切换分支的概念

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。

  1. 缓存区文件撤销(不覆盖工作区):git reset HEAD <file>

用命令git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区。
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

  1. 版本回退:git reset --(hard | mixed | soft) <HEAD~(num)>|<commit ID>
    • hard就是回退到上一个版本(回退全部,包括HEAD,index,working tree)
    • mixed就是回退到add到缓存区之前(回退部分,包括HEAD,index)
    • soft就是回退到commit到本地仓库之前(只回退HEAD)
    • <HEAD~(num)>表示回退的次数git reset --head HEAD~1表示一次撤销,
    • <commit ID>表示版本号

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb…(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
7,状态查询
  1. 查看状态:git status
  2. 查看历史操作记录:git reflog
  3. 查看日志:git log <fileName>,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数: git log --pretty=oneline
8,差异比较
  1. 比较工作区与缓存区:git diff
  2. 比较工作区与本地版本库中最近一次commit的结果git diff HEAD
  3. 比较缓存区与本地版本库中最近一次commit的结果git diff cached
  4. 比较两个commit之间的差异git diff <commit-id> <commit-id>
9,管理分支
  1. 查看分支:git branch
  2. 创建新分支:git branch <name>
  3. 切换分支:git checkout <name>
  4. 创建并切换分支:git checkout -b <name>
  5. 删除本地分支:git branch -d <name>
  6. 删除远程分支:git push -d <origin> <branch>
10,分支合并&处理冲突
  1. 无冲突合并:
    git merge <branch>
    lcode操作
  2. 有冲突合并:
    git merge <branch>
    解决冲突
11,文件暂存
  1. 添加改动到stash:git stash save -a "message"
  2. 查看stash列表git stash list
  3. 删除暂存:git stash drop <stash@{id}>
  4. 恢复改动:git stash pop <stash@{id}>
  5. 删除全部暂存:git stash clear
    文件暂存(Bug分支)详情
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值