NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

    • Git 分支新建切换
    • Git使用手册
    • Git修改分支名
    • Git分支-分支原理
    • Git分支-变基
    • Git分支-远程分支
    • Git分支开发工作流
    • Git分支的新建与合并-分支操作
    • Git分支管理-查看分支
    • Git变基合并
    • Git基础与命令
    • Git工具-交互式暂存
    • Git工具-查看修订版本
    • Git工具-重写历史
    • Git工具-重置
    • Git常用指令
    • git撤销某个commit并提交
    • Git相关知识点
      • git的基本安装
        • linux下安装git
        • mac下安装git
        • windows下安装git
      • git的基本配置
        • 查看配置信息
      • git基本命令
        • git init
        • git clone
        • git diff
        • git add
        • git commit -m
        • git status
        • git log
        • git reset
        • git rm
        • git status
        • git checkout
      • git pull 使用
      • 使用 git 推送代码
      • git 分支操作
        • 创建分支
        • 切换分支
        • 删除分支
        • 推送分支
      • 分支更新及合并
        • 拉取更新
        • 合并分支
      • git 实现历史回滚
      • git clone 获取指定指定分支的指定commit版本
      • git 免输入用户名和密码
      • git 常用命令归纳
        • git 清除对所有文件的追踪
        • git 提交命令
        • 仓库信息查询
        • git 分支操作
        • 其他
    • 如何解决修改.gitignore不起作用的问题
    • 常用Git命令清单
    • Git清空本地文件跟踪缓存
  • Linux文档

  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

  • 其他文档

  • 前端开发
  • Git笔记
NoteZ
2021-04-20
目录

Git相关知识点

# git的基本安装

  • # linux下安装git

    sudo apt-get install git
    
    1
  • # mac下安装git

    brew install git
    
    1
  • # windows下安装git

    百度 gitbash ,下载安装即可。

# git的基本配置

git config --global user.name "xxxxx"
git config --global user.email "xxxxxxxxxxx@qq.com"
1
2
  • # 查看配置信息

    git config --list
    
    1

# git基本命令

  • # git init

    通过创建 demo 文件夹,git init 初始化,新建一个仓库。
    mkdir demo && cd demo
    git init
    
    1
    2
  • # git clone

    如果在 git 上已经有了仓库,可以直接通过 git clone 将项目 clone 到本地。
    git clone [仓库地址]
    
    1
  • # git diff

    查看做了哪些修改。可按 q 退出。
    git diff
    
    1
  • # git add

    可以将文件添加到缓存去,获得 Git 的跟踪。也可以通过加参数,将所有的文件添加到缓存区。例如:
    git add .      //添加所有文件
    touch a.html     //新建 a.html 文件
    git add a.html  //添加 a.html 文件
    
    //下面的三种方式效果相同
    git add .
    git add -A
    git add *
    
    1
    2
    3
    4
    5
    6
    7
    8
  • # git commit -m

    git commit 将缓存区内容添加到仓库中。
    git commit -m '描述'
    
    1
  • # git status

    可以查看当前版本库各个文件的状态。
    git status
    
    1
  • # git log

    查看提交记录。
    git log
    
    1
  • # git reset

    取消已经缓存的内容。通过版本号回滚。
    git reset --hard HEAD 
    //或  
    git reset --hard [版本号]
    
    1
    2
    3
  • # git rm

    git rm 命令把一个文件删除,并把它从git的仓库管理系统中移除。
    git rm readme.md
    
    1
  • # git status

    查看状态
    git status
    
    1
  • # git checkout

    取消对某个文件的修改
    git checkout 文件名
    
    1

# git pull 使用

当远端的版本优先于本地的版本,而本地又做了新的版本要提交的时候,会提示提交失败。建议使用 git pull 拉取远端的更新。但是拉取的时候会有两种情况。

    1. 远端更新和本地更新不冲突,此时 git pull 的时候,会弹出 nano 编辑界面,提示用户合并两个不冲突的更新并提交版本留言,使用 ctrl + x,选择 Y 同意,然后直接回车,即可离开 nano 编辑界面。执行完毕之后会生成一个新的版本,即合并远端和本地更新的版本,此时在执行 git push 远端和本地就同步了。
    1. 远端更新和本地冲突(修改的是同一文件的相同位置),此时也需要 git pull 拉去远端更新,但是提示拉取失败,需要用户手动处理冲突,处理之后相当于修改了文件,所有直接使用 git add . git commit -m'' git push 即可提交成功。

# 使用 git 推送代码

    1. 首先,要在 git 上新建仓库,然后 clone 下来,执行命令:
    git clone 仓库地址
    
    1
    1. 首次推送,如果没有 clone 现有仓库,而是直接在本地 git init 的仓库的话,需要先添加远程仓库地址。之后可以省略参数 git push
    git push -u origin master 
    
    1
    1. 为这个仓库添加一个远程地址
    git remote add origin [你的git上的仓库地址]
    
    1
    1. 由于每次 push 都需要输入用户名和密码,很麻烦。这里需要设置下 ssh 密钥 public key
    • 首先需要在本地机器上生成 key。 生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:
      cd ~/.ssh
      ls
      authorized_keys2  id_dsa       known_hosts
      config            id_dsa.pub
      
      1
      2
      3
      4
      关键是看有没有用 something 和 something.pub 来命名的一对文件,这个 something 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。假如没有这些文件,或者干脆连 .ssh 目录都没有,可以用 ssh-keygen 来创建,这时,会在 ~/.ssh/文件夹之下生成一对 ssh key ,包括一个 public key 和一个 private key 。(如果是windows用户,这个文件一般会在这里:C:\Users\Administrator.ssh。该程序在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里,可自行选择。
    • 复制 public key 查看内容 cat ~/.ssh/id_rsa.pub
    • 将拷贝的 public key 添加在 git 账户上: 右上角点击头像-> 点击settings-> 点击SSH KEYS-> 点击ADD SSH KEYS-> 将获取的public key粘贴于此即可。

# git 分支操作

  • # 创建分支

    1. 创建新的分支之后,分支内默认和 master 分支内的内容相同。想要将本地创建好的分支同步到远端,直接执行 git push -u origin [分支名] 即可,以后想要更新 gh-pages 分支,直接按照原来的 git 三步即可。
    2. gh-pages 分支比较特殊,该分支上的内容可以使用 git账户名.git.io/仓库名 地址访问。
    3. 创建分支:
      git branch [yourbranch] 
      
      1
    4. 查看分支:
      git branch        //查看本地分支
      git branch -a      //参数 查看所有分支(本地和远端)
      git branch -r      //参数 查看远端分支
      
      1
      2
      3
    5. 删除本地分支:
      git branch -D gh-pages //(gh-pages 为分支名称)
      
      1
    6. 删除远程分支:
      git push origin :gh-pages  //(origin 后面有空格)
      
      1
  • # 切换分支

    直接创建/切换分支

    git checkout [yourbranch]
    
    1

    复制分支

    git checkout -b [yourbranch]
    
    1
  • # 删除分支

    git branch -d [yourbranch]
    
    1
  • # 推送分支

    git push origin [yourbranch]
    
    1

# 分支更新及合并

  • # 拉取更新

    git pull
    
    1
    拉取分支上的更新
    git pull origin master
    
    1
  • # 合并分支

    合并其他分支代码
    git merge [otherbranch]
    
    1

# git 实现历史回滚

回滚之后想要直接同步到远端,由于远端的版本优先于本地,所以直接 git push 失败。使用 git push -f 强制推送到远端。想要回滚之后在回到原来的版本,版本号找不到了,我们使用 git reflog 命令,可查看所有版本的修改,就可以看到所有的版本号了。

# git clone 获取指定指定分支的指定commit版本

git clone [git-url] -b [branch-name]
git reset --hard [commit-number]
1
2

# git 免输入用户名和密码

如果我们 git clone 的下载代码的时候是连接的 https://而不是git@git (ssh) 的形式,当我们操作 git pull/push 到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。解决办法:git bash进入你的项目目录: 全局设置

git config --global credential.helper store 
1

局部设置

git config credential.helper store 
1

然后会在你本地生成一个文本,上边记录你的账号和密码,你使用上述的命令配置好之后,再操作一次 git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了。

# git 常用命令归纳

  • # git 清除对所有文件的追踪

    解决在.gitignore中添加忽略文件,忽略不生效的问题
    git rm -r -f --cached .
    
    1
  • # git 提交命令

    git pull
    git add . #(.或\*或-A)表示全部
    git commit -m'注释信息'
    git push #提交修改
    
    1
    2
    3
    4
  • # 仓库信息查询

    git init #初始化仓库 -y全部默认yes
    git log #查看提交记录
    git status #查看仓库信息
    
    1
    2
    3
  • # git 分支操作

    git branch [分支名称]  #gh-pages 分支特殊 ([用户名].git.io/[仓库名]/) 新建分支
    git chechout [分支名称] #切换分支
    git merge [需要合并的分支]
    
    1
    2
    3
  • # 其他

    sudo apt-get install git
    git init 
    ls -a
    git status
    git add README
    git commit -m "1st"
    git config --global user.name "zlluGit"
    git config --global user.email "18230086651@163.com"
    git log
    git log -p
    sudo apt-get install tig
    git commit -a
    git diff
    git config --global core.editor vim
    git commit -a -v 
    git config --global alias.ci "commit -a -v"
    [user]
        name = zlluGit
        email = 18230086651@163.com
    [core]
        editor = vim
    [alias]
        ci = commit -a -v
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
#Git
上次更新: 2024/01/30, 00:35:17
git撤销某个commit并提交
如何解决修改.gitignore不起作用的问题

← git撤销某个commit并提交 如何解决修改.gitignore不起作用的问题→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式