IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git速成&常用命令&实用技巧 -> 正文阅读

[开发工具]Git速成&常用命令&实用技巧

Git 是一个开源的分布式版本控制系统,学会使用它可以高效地处理大小代码项目。

基本概念

工作流程:
在这里插入图片描述
工作区、暂存区、版本库

工作区:电脑里能看到的目录
暂存区:放在.git/index
版本库:工作区的隐藏目录.git
在这里插入图片描述
master分支代表的目录
index是暂存区
HEAD是一个指向master的“指针标”
objects 标识的区域为 Git 的对象库,实际位于 “.git/objects” 目录下,里面包含了创建的各种对象及内容。
git reset HEAD会使暂存区内容被HEAD指向的master目录内容替换,但工作区不影响
git rm从暂存区删除,但工作区不改变
git checkout . 或者指定文件,用暂存区文件替换工作区,意味这会清楚工作区未添加到暂存区的改动

创建仓库

  • 初始化一个Git仓库,在目录下生成一个.git目录
git init //当前目录初始化Git仓库
git init <tartgetDir> //指定目录下作为Git仓库
  • 从现有Git仓库中拷贝一份项目
git clone <repoURL>
git clone <repoURL> <tartgetDir>  //克隆到指定的目录

例:

git clone git://github.com/schacon/grit.git testLib

基本操作

  • 查看文件处于什么状态
git status
  • 比较暂存区与工作区文件差异
git diff
git diff --cached // 查看已缓存的改动
git diff HEAD //查看已缓存的与未缓存的所有改动:
  • 跟踪一个文件并放入暂存区
 git add 
 git add .  //全部放入暂存区
 git add <filename> //放入一个指定文件到暂存区
  • 提交暂存区到本地仓库
git commit 
git commit -m “describe of change”
  • 查看提交历史
 git log 
  • 检查提交具体内容
git show <commitHashCode>
  • 自己的分支推送到远程服务器
 git push 
 git push origin
  • 更新远端的服务器本地代码,用于从远程获取代码并合并本地的版本。
    (git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写)
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull 
git pull origin develop //远端develop分支与当前分支合并
git pull origin develop:<branchB>   //origin主机的develop与本地的branchB分支合并

分支管理

  • 列出本地可用分支
git branch
git branch -a //显示本地与远程 
git branch -r //远程
  • 从现有分支创建新分支
git branch <branchName>
git checkout <branchName> //切换到一个分支
git checkout -b <branchName> //创建新分支并切换
  • 编辑分支
git branch -d(D) <branchName> //删除分支,删除前要先切换到其他分支
git branch -m <oldName> <newName> //修改分支名
git push origin :<branchName> //删除远程的这个分支

常用手段

  • 当更新代码时候,本地更改与上游没冲突时,简单的git pull就行了。但是,有些情况下,本地与上游相冲突,git pull会拒绝覆盖更改。 在这种情况下,可以将更改隐藏起来,执行git pull,然后解压 像栈一样
git stash
git stash & git pull & git stash pop      
git stash clear
  • 覆盖代码
    git reset --hard origin/master

  • 把某一个commit的修改 同步到当前分支。如果提示bad version,说明那个commitID本地还不知道,使用git fetch --prune 或者 git pull 来获取新分支

git cherry-pick commitId 
  • 撤销修改
  1. 撤销修改工作区
git checkout -- fileName 

一种是 文件修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态。
一种是 文件已经添加到暂存区后又作了修改,撤销修改就是回到暂存区中该文件的状态。

  1. 暂存区的修改放回工作区
    git reset HEAD fileName //撤销掉unstage,重新放回工作区,再按1步骤撤销
    git reset --hard HEAD^ //已经提交了不合适的修改到版本库时,想要读档上一个commit版本
    git reset --hard commit_id //回到指定的commit版本

git命令缩写

使用缩写git命令可以大大提升效率,比如最常用gst 不需要打全拼 git status
.gitconfig中修改alias自定义
使用命令设置缩写

git config --global alias.br branch  //branch的简写就是br

安装oh-my-zsh自带简写摘选部分如下

alias g='git'
alias ga='git add'
alias gco='git checkout'
alias gcb='git checkout -b'
alias gcd='git checkout develop'
alias gcmsg='git commit -m'
alias gcp='git cherry-pick'
alias gd='git diff'
alias gdca='git diff --cached'
alias gf='git fetch'
alias gl='git pull'
alias gm='git merge'
alias gp='git push'
alias gpf!='git push --force'
alias gr='git remote'
alias gra='git remote add'
alias grev='git revert'
alias grh='git reset'
alias grhh='git reset --hard'
alias gsh='git show'
alias gst='git status'
alias gstc='git stash clear'
alias gstd='git stash drop'
alias gstp='git stash pop'

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:21:20  更:2021-09-12 13:24:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:33:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码