Git基础知识总结

132 阅读4分钟

Git基础知识总结

1. Git简介

Git定义

  1. 分布式版本控制系统,可以有效管理代码的版本和变更
  2. 可以在本地进行版本控制,也可以在多人协作开发时进行远程版本控制
  3. 设计目标是速度快、数据完整性高、支持分布式、非线性开发流程

Git优点

  1. 分布式版本控制系统
  2. 支持离线操作
  3. 可以在本地仓库进行大部分操作
  4. 可以创建分支,合并分支
  5. 可以通过提交历史进行代码追踪和回退
  6. 可以通过标签进行版本控制
  7. 可以通过远程仓库进行代码共享和协作

Git的基本概念:版本控制

  1. 仓库(Repository):Git仓库用于存储项目文件和版本历史
  2. 提交(Commit):将文件修改保存到版本历史中
  3. 分支(Branch):独立于主分支的版本历史可以用于开发新功能或修复问题
  4. 合并(Merge):将两个分支的修改合并到一起
  5. 远程仓库(Remote Repository):远程仓库,可以与本地仓库进行同步
  6. 克隆(Clone):将远程仓库复制到本地的操作

分支和主分支不同合并?

2. Git 基础命令

命令与功能:

  1. git clone <repository_url> 克隆远程仓库到本地
  2. git add <file_name> 将修改过的文件添加到暂存区
  3. git commit 提交暂存区的文件到本地仓库
  4. git push 将本地仓库的文件推送到远程仓库
  5. git push <remote_name> <branch_name> 推送到指定分支
  6. git pull 从远程仓库拉取最新代码到本地仓库
  7. git branch 查看本地仓库的分支

3. 进阶命令

Git 冲突解决

push之前的代码不是最新的,可能会冲突:

发生代码冲突,先pull最新代码(本地改的不会改),再push,不容commit,已经commit过一次了

如果冲突在同一个文件,会有>>>存在,进行对比 更改解决冲突后可以进行提交

 git init # 初始化仓库
 git add . # 放入工作区的所有已变更文件
 git commit -m"v1.0" #提交命令
 git config --global user.eamil "you@eamil.com"
 git config --global user.name "you"
 git log # 可查看所有的变更
 git status # 查看当前状态
 git reset ^^ # 回退到上上个版本号
 git reset ~3 #回退三个版本号
 git reset --hard 版本(commit)号 #根据版本(commit)号回退
 # hard 覆盖暂存区也覆盖工作区
 git reflog # 可以看到所有的历史
 ​
 ##########github##########
 git init
 git add README.md
 git commit -m "first commit"
 git remote add origin https://github.com/qyfff/xxx.git
 git push -u origin master
 ​
 git clone https://github.com/qyfff/xxx.git
 git push # 克隆下来的直接push即可

分支操作

 git branch # 查看本地分支
 git branch -r # 查看远程分支
 git branch -vv # 查看分支详细信息
 git fetch # 同步远程仓库
 git branch dev # 创建分支dev
 git checkout dev # 切换到分支dev
 git branch -d dev # 删除本地分支dev,删除前要换到其他分支
 git checkout -b dev # 创建并切换到分支dev
 git merge dev # 合并分支,合并前需要切换到合并的目标分支
 git push origin dev # 将本地分支 “dev” 推送到远程仓库 “origin” 中,远程仓库不存在dev分支则创建远程分支dev
 git push origin dev:dev #同上,将本地dev推送到仓库的dev中去
 git checkout -b [分支名][远程名]/[分支名]
 git checkout --track origin/dev # 用于创建一个新的本地分支,并将其与远程仓库的 dev 分支建立跟踪关系
 git branch --set-upstream-to=origin/dev #  用于设置当前分支的上游(upstream)分支为远程仓库的 dev 分支
 git push origin :dev # 将一个空的(冒号前面没有分支名)本地分支推送到远程仓库 origin 并删除对应的远程分支 dev
 git pull origin dev # 将远程仓库(origin)的 dev 分支的最新提交拉取(fetch)到本地,并合并(merge)到当前所在的分支
 git pull origin master #从与当前分支关联的远程仓库中拉取(fetch)最新的代码,并将其合并(merge)到本地分支

比较操作

 git diff # 比较工作区与暂存区文件
 git diff --cached # 比较暂存区与最后一次commit的文件
 git diff HEAD # 比较工作区与最后一次commit的文件

git flow todo