git 从入门到退休

安装

软件下载

git 配置

git 在安装的时候,已经把环境变量配置到path 中了。
但是我们使用git 的时候,需要配置用户民和邮箱

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

# 配置完了,可以查看信息
git config -l

仓库

将一个项目的根目录,作为仓库,仓库里的每个文件修改都有日志记录
在这里插入图片描述

基础指令

  • 创建版本仓库
    git init
    生成 .git 目录,保存仓库的所有内容
  • 新增文件
    git add xx.txt # 添加一个
    git add xx.txt xx2.txt # 添加多个
    git add abc# 添加目录
    git add . # 添加库目录中所有文件
  • 提交文件
    git commit -m 'test' # 【-m 后是对本次提交的描述】【提交添加的所有文件】
    git commit xx.txt xx2.txt -m 'test' # 提交某些文件
    git commit -a -m "test" # 自动add 并 commit 所有已跟踪并修改或删除的文件
  • 文件状态
    git status # 在提交后,如果有文件改动,可以看到
  • 文件改动
    git diff xx.txt # 查看该文件的改动情况(比对工作区和暂存区,若暂存区没有,比分支)
    git diff head – xx.txt # 比对工作区和分支
    git diff --staged xx.txt # 对比暂存和分支

日志 - 提交历史

git log # 显示全部日志
git log --oneline # 简洁日志显示
git log --oneline -2 # 显示最近两次日志
git log --oneline --graph # 图形化显示

注意:此时q 可以退出日志

版本回退

git reset --hard head~ # 回退到上个版本
git reset --hard head~~ # 回退到上上个版本
git reset --hard head~5 # 回退到前5个版本
git reset --hard rewi34ooe... # 回退到commit ID 那个版本

注意:

  • 当回退版本时,git log 只能看到最早提交到 当前点提交的日志,git reflog 可以查看到全部日志。
  • git add 的文件,也可以通过 git reset 回退

撤销修改

当我们文件中写了一些垃圾话的时候,可以直接用命令回退到之前保存的那个状态

  • 工作区撤销
    git checkout – xx.txt
  • 暂存区撤销
    git reset head xx.txt
    git checkout – xx.txt
  • 已提交撤销
    git checkout – xx.txt # 但是工作区还是存在,所以还是直接回退版本或该文件和上个版本比对

分支

创建-切换

git branch new_branch # 创建分支,会和当前分支保持同样的数据状态
git checkout new_branch # 切换分支,工作区中显示当前分支的内容
git branch # 查看当前分支
git branch -vv # 查看分支详细信息(分支信息,所跟踪的远程分支信息,是否领先远程分支等)

合并-删除

git branch master # 切换到主分支
git merge one_branch # 主分支合并某一分支(任何分支都可以合并其他分支)

git branch -d newBr # 删除分支

冲突-解决

在这里插入图片描述
取舍的话,取决于实际代码。
然后再 git add .git commit -m ""

git merge --abort # 中止合并,发生冲突可以选择撤销本次合并
git merge newBr -Xignore-all-space # 避免因为空白导致冲突

远程仓库

设置ssh-key

  • ssh-keygen -t rsa -C "你的git登录邮箱"
  • C:\Users\用户民\.ssh\id_rsa.pub 存放着你的公钥
  • 在git 服务器上配置ssh

关联远程仓库

将本地git 库 和 远程github库建立关联,可以方便本地库和远程库pull和push
注意:当你是空文件夹时,需要git init才可以关联

  • 关联远程库
    git remote add origin 库地址 # origin 是别民,可以取别的
  • 查看关联的所有远程库
    git remote -v
    git remote show origin # 关联远程库,本地分支和远程分支的对应关系。
    git remote remove origin # 删除关联
    git remote remove origin origin2 # 重命名

push

将本地master 分支的内容上传到 关联的远程仓库
git push origin master # 上传到master分支
git push origin dev:dev # 将本地分支dev 上传到远程服务器的dev分支上
git push origin dev:dev dev2:dev2 # 可以一次上传多个

pull

拉取远程的新内容,并合并到当前分支
git pull origin master:master
git pull origin master # 缺省写法

clone

下载远程仓库中的内容,注意clone操作会自动搭建关联
git clone 库名

标签

在众多的提交中,总有一些提交尤为重要,比如重大的bug解决,我们可以为此打上标签

打标签

  • 创建标签
    git tag v1.0.0
  • 创建附注标签
    git tang -a v1.1.1 -m "说明文字"
  • 给历史文件打标签
    git tag [-a] v1.1.1 "commitID"

查看标签

  • 查看所有标签
    git tag
  • 查找以 v1.1 开头的标签
    git tag -l "v1.1*"

标签主要用于发布打包

  • 检出提交点 (通过提交点检出,不受任何分支受限)
    git checkout v1.0

删除标签

  • 删除标签
    git tag -d v1.0
  • 删除远程仓库的指令
    git push origin :refs/tags/v1.1

共享标签

  • 同步一个标签到git服务器
    git push origin v1.1.1
  • 共想所有的标签
    git push origin --tags
发布了46 篇原创文章 · 获赞 6 · 访问量 2637

猜你喜欢

转载自blog.csdn.net/renguiriyue/article/details/104118028