git使用的说明总结

Git使用说明

下载安装(下载地址)

创建新仓库

本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git
3.

克隆仓库

执行指令用以创建一个本地仓库的克隆版本 git clone /path/to/repository

如果是远端服务器上的仓库,指令应该是这样的: git clone username@host:/path/to/repository
4.

组成Git仓库的三部分

  • 工作目录:是本地中实际存在的文件目录
  • 暂存区:是个缓存区域,临时保存你的改动
  • HEAD:指向你最后一次提交的结果

working dir(工作目录) --++add++ --> index(暂存区) --++commit++--> HEAD
5.

添加和提交

添加修改或新文件, git add <filename> 添加指定文件 git add * 添加所有文件到暂存区

提交改动, git commit -m "代码提交信息" ,现在,你的改动已经提交到了HEAD,但是还没到你的远端仓库
6.

推送改动

经过提交,你的改动现在已经在本地仓库的HEAD中了。可以通过以下指令将这些改动推送到远端仓库 git push origin master , 可以将mater缓存你想要推送的任何分支

如果你还没有配置远程仓库地址,可以通过 git remote add origin <server> ,将你的仓库连接到摸个远程服务器,配置好后就能将你的改动推送到所添加的服务器上
7.

分支

分支是用来煎特性开发绝缘开来的。在你创建仓库的时候,master是"默认的"分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

创建并切换到dev 分支: git checkout -b dev

切换回主分支: git checkout master

删除分支: git checkout -d dev

切换会上一个分支: git checkout -

除非你将分支推送到远端仓库,不让改分支是不为他人所见的

推送分支到远端仓库: git push origin <branch>
8.

更新与合并

更新本地仓库至最新动态: git pull 该指令执行了在工作目录中获取(fetch) 合并(merge)远端的改动。
将其他分支合并到当前分支(例如master): git merge <branch> ,此情况下git会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,可能出现
冲突(conflicts)
。这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。修改后,你需要执行 git add <filename> 用以将它们标记为合并成功。

预览差异的指令: git diff <source_branch> <target_branch>
9.

标签

为软件发布创建标签二推荐的。

创建标签的指令: git tag 1.0.0 1a2b3c4d5f , 1a2b3c4d5f是你想要提交ID的前10位字符。可以使用 git log 指令获取提交的ID。你可以使用少一点的提交ID前几位,只要它的指向具有唯一性。
10.

复制代码
### 日志-log

用于了解本地仓库的历史记录,通过最简单的指令 `git log` 来查询。  

只看某一个人的提交记录: `git log --author=bob`  

一个压缩后的每一条记录只占一行的输出: `git log --pretty=oneline`  

通过树形结果展示所有的分支,每个分支都表示名字和标签,同时也值输出一行: `git log --graph --oneline --decorate --all`  

查看提交记录中修改的文件: `git log --name-status`
复制代码
### 替换本地改动

加入你操作失误,你可以使用如下命令替换本地改动: `git checkout -- <filename>` ,此命令会使用HEAD中的最新内容替换掉你工作目录中的文件。已经添加到暂存区的改动以及新文件都不会受到影响。  

将当前分支的工作树状态和HEAD指针回退到最近的三次提交之前的提交状态: `git reset --hard HEAD~3`
复制代码
### stash

用于临时保存工作目录中的更改:  

保存当前更改: `git stash` ,保存并附带描述信息: `git stash "message"`

查看stash列表: `git stash list`  

弹出最近一次的stash: `git stash pop` ,此命令会将最近一次的stash应用到当前工作目录中,同时删除对应的stash  

弹出指定的stash: `git stash pop stash@{<n>}` ,应用指定编号的stash,例如 `git stash pop stash@{1}`

应用最近一次的stash: `git stash apply` , 这条命令会将最近一次的stash应用到当前的工作目录中,但是不会删除该stash。  

应用指定的stash: `git stash apply stash@{<n>}` ,应用指定编号的stash,例如 `git stash apply stash@{1}`  

删除最近一次的stash: `git stash drop` ,此命令会删除最近一次的stash
  1. 快速切换上一个分支

    复制代码
    git checkout -
  2. 展示本地分支关联远程仓库的情况

    复制代码
    git branch -vv
  3. 列出本地和远程分支

    复制代码
    git branch -a
    //或
    git branch --all
  4. 查看远程分支和本地放置的对应关系

    复制代码
    git remote show origin
  5. 远程删除了分支本地也想删除

    复制代码
    git remote prune origin
  6. 删除分支

    复制代码
    //删除本地分支
    git branch -d <local-branchname>
    
    //删除远程分支
    git push origin --delete <remote-branchname>
    //或
    git push origin :<remote-branchname>
  7. 查看标签详细信息

    复制代码
    git tag -ln
  8. 标签操作

    复制代码
    //一次性推送所有标签,同步到远程仓库
    git push origin --tags
    //删除本地标签
    git tag -d <tag-name>
    //删除远程标签
    git push origin --delete tag <tag-name>
  9. 放弃工作区的修改

    复制代码
    //放弃指定文件的修改
    git checkeout <file-name>
    //放弃所有修改
    git checkout .
  10. 修改上一个commit的描述

    复制代码
    git commit --amend -m "message"
    
    //假如你提交了一个commit,但发现漏掉了几个文件
    git add README.md
    git commit -m "添加README.txt文件"
    git add LICENSE.txt  #发现漏掉了一个文件
    git commit --amend -m "添加README.txt和LICENSE.txt文件"  #更新提交信息并添加遗漏的文件
  11. 展示简化的commit历史

    复制代码
    git log --pretty=oneline --graph --decorate --all
  12. 强制推送

    复制代码
    git push -f <remote-name> <branch-name>
  13. 在 commit log 中查找相关内容

    复制代码
    # 通过 grep 查找,message:所需要查找的字段
    git log --all --grep='<message>'
  14. clone项目

    复制代码
    # clone项目的所有内容
    git clone <remote_url>
    # clone指定的单一分支
    git clone -b <branch-name> --single-branch <remote_url>
    # clone最新一次提交
    git clone --depth=1 <remote-url>
相关推荐
程序猿chen11 分钟前
《JVM考古现场(十六):太初奇点——从普朗克常量到宇宙弦的编译风暴》
jvm·git·后端·程序人生·金融·java-ee·量子计算
大湾区经济门户网20 分钟前
中国移动启动数字乡村“五新升级”:年底前,行政村5G覆盖达95%
大数据·5g·区块链·媒体
小诸葛的博客2 小时前
es中节点类型有哪些
大数据·elasticsearch·jenkins
随缘而动,随遇而安2 小时前
第四十篇 企业级数据仓库建模深度实践:从理论到落地的维度建模全攻略
大数据·数据库·数据仓库·数据分析·数据库架构
死磕java的孤行者2 小时前
Git 分布式版本控制工具
分布式·git·elasticsearch
2501_911067664 小时前
探秘叁仟智盒设备:智慧城市的智能枢纽
大数据·人工智能·智慧城市
黄雪超5 小时前
核心知识—— RDD常用算子之数据转换
大数据·spark
AWS官方合作商5 小时前
AWS云服务:大数据公司实现技术突破与商业价值的核心引擎
大数据·云计算·aws
码界筑梦坊8 小时前
基于Spark的抖音数据分析热度预测系统
大数据·信息可视化·数据分析·spark·毕业设计·个性化推荐
生信学习小达人10 小时前
arcgis10.8 Toolbox中没有找到conversion tools模块
大数据