Git 学习笔记

1.git安装

1.1 Windows 下安装

双击运行安装程序,默认安装即可

1.2 Linux下安装(切换到root模式下)

  • centos - $ yum install git
  • Debian/Ubuntu - $ apt-get install git

2.git理论

  1. git将每个版本进行独立保存
    在这里插入图片描述
  2. git的三棵树:工作区域、暂存区域和git仓库
    在这里插入图片描述
  3. git的工作流程
    • 在工作区域中添加或者修改文件
    • 将需要进行版本管理的文件放入暂存区域
    • 将暂存区域的文件提交到git仓库
  4. git文件的三种状态
    • 已修改(modified)
    • 已暂存(staged)
    • 已提交(committed)

3.初次使用git前的配置

- git config --global user.name "用户名"
- git confgi --global user.email "邮箱“

4.git使用

在这里插入图片描述

  • git add "文件名"
    • 将需要进行版本控制的文件放入暂存区域
  • git commit -m "描述字段"
    • 将暂存区域的文件提交到git仓库
  • git status
    • 用于显示当前工作区域和暂存区域的状态,不显示已经commit到仓库中去的状态;常见状态有:untracked files 未监控
  • git restore <file>
    • 如果对工作区域的文件在add或者commit后进行了更改,可以使用此明令将工作区域的文件改回修改前的状态
3.1 查看日志
  • git log
    • 查看历史提交记录
  • git log --decorate --oneline
    • 查看历史提交记录,用一行进行显示
  • git log --decorate --graph --all
    • –graph 选项表示让 Git 绘制分支图,–all 表示显示所有分支
  • git checkout
    • 命令用于把暂存区域的文件还原到工作目录
  • git reset HEAD ”文件名“
    • 将最后一次提交的文件恢复到工作区域,如果不加文件名,则将最后一次提交恢复到工作区域(即将暂存区域恢复到最后一次提交前的状态)
  • git reset --mixed HEAD~
    • 移动HEAD的指向,将其指向上一个快照
    • 将HEAD移动后指向的快照回滚到暂存区域
  • git reset --soft HEAD~
    • 移动HEAD的指向,将其指向上一个快照
  • git reset --hard HEAD~
    • 移动HEAD 的指向,将其指向上一个快照
    • 将HEAD移动后指向的快照回滚到暂存区域
    • 将暂存区域的文件回滚到工作区域
  • git reset 指定版本的ID号
    • 回滚指定版本的快照(也可以前滚)
  • git reset 指定版本的ID号 文件名/路径
    • 回滚指定版本快照中的个别文件
  • git reflog
    • 显示git的每一次操作,第一列为每一次版本更新的版本ID
  • git diff
    • 比较工作区域与缓存区域
    F:\tproject>git diff
    diff --git a/README.md b/README.md  #表示对比的是存放在暂存区域的 README.md 和工作目录的 README.md
    index 2a21a9e..64d8456 100644 #表示对应文件的 ID 分别是 7966837 和 472a180,左边暂存区域,后边当前目录。
    --- a/README.md  #--- 表示该文件是旧文件(存放在暂存区域)
    +++ b/README.md  #+++ 表示该文件是新文件(存放在工作区域)
    @@ -1,2 +1,2 @@  #以 @@ 开头和结束,中间的“-”表示旧文件,“+”表示新文件,后边的数字表示“开始行号,显示行数”,+1,2 表示新文件在合并显示中从第 1 行开始,显示 2 行。
    - #由于旧文件没有自己“独有的”内容,所以-号后面没有内容
    +《零基础入门学习Python》 第004#这是将两个文件合并显示的结果,前边有个 + 的绿色的那一行说明是新文件独有的,浅灰色的则是两个文件所共有的内容。
     这是第一个game游戏
    \ No newline at end of file #文件不是以换行符结束
    diff --git a/game.py b/game.py
    index 4a1d254..0cdab44 100644
    --- a/game.py
    +++ b/game.py
    @@ -1,20 +1,28 @@  
     import random
    
     print('------------------我爱鱼C工作室------------------')
    +
    +times = 3
     secret = random.randint(1,10)
    -temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
    -guess = int(temp)
    +guess = 0
    +
    +print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
    
    -while guess != secret:
    -    temp = input("哎呀,猜错了,请重新输入吧:")
    +while (guess != secret) and (times > 0):
    +    temp = input()
         guess = int(temp)
    +    times = times - 1 # 用户每输入一次,可用机会就-1
         if guess == secret:
    -        print("卧槽,你是小甲鱼心里的蛔虫吗?!")
    
  • git diff 快照1ID 快照2ID
    • 比较两个历史快照
  • git diff 快照ID
    • 比较当前目录与git仓库中的快照
  • git diff --cached [快照ID]
    • 比较暂存区域与git仓库中的快照
      在这里插入图片描述
  • git commit --amend
    • 修改最后一次提交,不会生成新的快照,执行后会显示出一个类似vim的界面,在界面中直接进行修改即可
    • git commit --amend -m "新的提交说明"也可以使用此命令直接修改新提交的说明
3.1 删除文件
  • git rm 文件名
    • rm 命令删除的只是工作目录和暂存区域的文件(即取消跟踪,在下次提交时不纳入版本管理)
    • 当工作目录和暂存区域的同一个文件存在不同内容时,执行git rm -f 文件名命令就可以把两个都删除
    • 如果只需要删除暂存区域的文件,保留工作区域的文件,可以执行git rm --cached 文件名 命令
3.2 重命名文件
  • git mv 旧文件名 新文件名
3.3 分支管理
  • git branch 分支名 创建一个分支
  • git checkout 分支名 切换分支
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值