Git基础知识总结
1. Git简介
Git定义
- 分布式版本控制系统,可以有效管理代码的版本和变更
- 可以在本地进行版本控制,也可以在多人协作开发时进行远程版本控制
- 设计目标是速度快、数据完整性高、支持分布式、非线性开发流程
Git优点
- 分布式版本控制系统
- 支持离线操作
- 可以在本地仓库进行大部分操作
- 可以创建分支,合并分支
- 可以通过提交历史进行代码追踪和回退
- 可以通过标签进行版本控制
- 可以通过远程仓库进行代码共享和协作
Git的基本概念:版本控制
- 仓库(Repository):Git仓库用于存储项目文件和版本历史
- 提交(Commit):将文件修改保存到版本历史中
- 分支(Branch):独立于主分支的版本历史可以用于开发新功能或修复问题
- 合并(Merge):将两个分支的修改合并到一起
- 远程仓库(Remote Repository):远程仓库,可以与本地仓库进行同步
- 克隆(Clone):将远程仓库复制到本地的操作
分支和主分支不同合并?
2. Git 基础命令
命令与功能:
- git clone <repository_url> 克隆远程仓库到本地
- git add <file_name> 将修改过的文件添加到暂存区
- git commit 提交暂存区的文件到本地仓库
- git push 将本地仓库的文件推送到远程仓库
- git push <remote_name> <branch_name> 推送到指定分支
- git pull 从远程仓库拉取最新代码到本地仓库
- 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