# git笔记 **Repository Path**: nieps/git-notes ## Basic Information - **Project Name**: git笔记 - **Description**: git笔记 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-21 - **Last Updated**: 2026-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git > * github 全球最大的代码托管网站 > * gitee 国内 Git是目前世界上最先进的分布式版本控制系统。 早些时候: cvs svn 分布式: * 本地是一个服务器 不连网也可以实现 版本管理 * 远程服务 ---将本地代码同步到远程 实现版本的穿梭 ## 概念 * 仓库 repository --- 就是一个文件夹 ![image-20260921113948717](./assets/image-20260921113948717.png) ## 命令 ~~~shell # 初始化仓库 git init #查看状态 git status # 将仓库中的改变 提交到暂存区 git add 文件1 文件2 ... #常用替代 git add . # . 代表的是当前仓库所有的改变 #将暂存区的改变 还原到工作区 (了解 很少用) git rm --cached 文件1 文件2 ... # rm ----> remove 删除 #将暂存区的内容提交到版本库 git commit -m '提交说明' # -m 必需的 提交日志 后期用于版本穿梭 ~~~ 常用操作步骤: 1. git add . 将改变提交到暂存区 2. git commit -m '' 将暂存区的改变 提交到版本库 3. 将本地版本库 推动到远程 > 查看版本库,借助于代码托管平台: > > * gitlab (你可以本地安装) > * gitee > * github ## 远程 * gitlab 自已搭建 > dos命令 win+r 输出cmd可以打开dos窗口 ~~~shell # 关联远程仓库 git remote add 代表远程仓库的名称(默认origin) 远程仓库地址 # 将本地仓库推送到远程 git push -u 代表远程仓库的名称(默认origin) 本地分支的名称(默认master) #查看远程分支的名称 git remote #查看远程关联地址 git remote -v #删除远程关联 git remote remove 代表远程分支的名称(默认是origin) #克隆远程代码 git clone 远程地址 # 拉取 远程最新的代码 git pull 远程分支名称(默认是origin) # 强制推送 (出现冲突 可以确认自己的是最新的可以用 一般不建议使用 ) 会覆盖远程代码 git push -f origin master # -f force 强制 ~~~ 什么情况下会冲突? 仓库中同一个文件有可能被多个人修改。 如何避免冲突? 1. 修改公共文件前,先pull 2. 直接修改公共文件 3. 然后将修改后的公共文件推送到远程 ## 版本回退 ~~~shell #放弃改变 一般在是文件修改后 (了解) git restore 文件1 文件2... #查看提交日志 git log # 查看日志 包含未来的 git reflog #退回到指定版本 git reset --hard commit_id # commit_id 提交的标识 ~~~ ## 作业: 1. 掌握讲过的命令 2. 了解gui操作 > ![image-20260921172700630](./assets/image-20260921172700630.png) 3. 预习剩下的命令 4. 预习python ## 分支 ~~~shell #查看分支 git branch #创建 、切换 分支 (了解) #创建 git branch 分支名称 # 常见的如 dev #切换 git checkout 分支名称 #切换分支(推荐) git switch 分支名称 #创建并切换分支 git checkout -b 分支名称 #创建并切换分支 (推荐) git switch -c 分支名称 #删除本地分支 前提是当前不是在要删除的分支下 git branch -D 分支名称 #删除远程分支名称 git push 代表远程分支名称(origin) --delete 要删除的分支名称 #合并分支 先切换相要合并 的分支上 git merge 要合并的分支 # 将本地开发分支 推送到远程 git push 代表远程分支的名称(默认origin) 要推送的分支名称,如dev #将开发分支推送到远程 ~~~ ## 标签 ~~~shell # 查看标签 git tag #打标签 git tag -m '标签说明' 标签名称 #默认是在最新的commit_id上打的标签 # 指定给某个commit_id 打标签 git tag -m '标签说明' 标签名称 commit_id # 推送指定标签到远程 git push 代表远程分支名称(默认是origin) 要推送的标签名 # 将所有的标签推送 git push 代表远程分支名称(默认是origin) --tags #删除本地指定标签 git tag -d 标签名称 #删除远程标签 git push 代表远程分支名称(默认是origin) :refs/tags/要删除的远程标签名 ~~~