Git 常用操作技术文章大纲
基本概念
- Git 简介:分布式版本控制系统
- 工作区、暂存区、仓库的概念
- 分支与合并的基本逻辑
初始化与配置
-
安装 Git 并检查版本
bashgit --version
-
全局配置用户名和邮箱
bashgit config --global user.name "Your Name" git config --global user.email "your.email@example.com"
基础操作
-
初始化新仓库
bashgit init
-
克隆远程仓库
bashgit clone <repository-url>
-
查看当前状态
bashgit status
-
添加文件到暂存区
bashgit add <file-name> git add . # 添加所有更改
-
提交更改到本地仓库
bashgit commit -m "commit message"
分支管理
-
创建新分支
bashgit branch <branch-name>
-
切换分支
bashgit checkout <branch-name>
-
创建并切换分支(一步完成)
bashgit checkout -b <branch-name>
-
查看所有分支
bashgit branch -a
-
合并分支
bashgit merge <branch-name>
-
删除分支
bashgit branch -d <branch-name> # 删除本地分支 git push origin --delete <branch-name> # 删除远程分支
远程仓库操作
-
关联远程仓库
bashgit remote add origin <repository-url>
-
推送本地分支到远程
bashgit push -u origin <branch-name>
-
拉取远程更新
bashgit pull origin <branch-name>
-
查看远程仓库信息
bashgit remote -v
撤销与回退
-
撤销工作区的修改
bashgit checkout -- <file-name>
-
取消暂存区的修改
bashgit reset HEAD <file-name>
-
回退到某次提交
bashgit reset --hard <commit-hash>
-
查看提交日志
bashgit log
标签管理
-
创建标签
bashgit tag <tag-name>
-
查看所有标签
bashgit tag
-
推送标签到远程
bashgit push origin <tag-name>
常见问题与最佳实践
- 处理冲突的方法
.gitignore
文件的使用- 使用
git stash
暂存未提交的更改 - 使用
rebase
优化提交历史
总结
- Git 的核心操作流程
- 推荐的学习资源(官方文档、教程等)
git clone http:// **** gitlob/gitee选择已有的项目首页,右侧的克隆按钮,点击选择使用HTTP克隆,复制下方的http://开头的路径,在本地文件夹中cmd,运行git clone <粘贴复制的路径>,然后回车
git init 给当前文件夹中初始化git,会在当前文件夹中生成.git文件。开发中不需要管,只是会在你操作git时记录你的相关操作以及信息
git status 查看当前分支变更代码
git pull 拉取本地分支对应的远程变更
git pull --all 拉取本地仓库所有分支最新变更代码
git branch 查看本地仓库分支列表
git branch -vv 查看本地仓库分支与远程仓库分支对应的关系
git branch -r 查看远程仓库分支列表
git checkout dev 切换已有的本地dev分支,如果没有dev,则失败
git stash 本地仓库修改代码后,想要提交远程仓库,需要先git stash将本地修改移除,然后git pull拉取当前分支远程仓库的最新log,然后 git stash pop,将本地修改移除的代码重新移入
git stash pop 移入之前移出的本地仓库修改
git push 推送本地分支修改到远程仓库对应仓库
git push origin dev 将本地dev分支修改推送到远程仓库dev分支(推送前如果远程仓库有dev分支)
git push -u^[1](#git push -u1 dev origin/dev)^ dev origin/dev 推送本地dev分支到远程(推送前如果远程仓库没有dev分支加上 -u)
git reset HEAD~ 撤销本地仓库上一次commit
git checkout -b dev origin/dev 本地仓库没有dev分支时,拉取远程仓库已有的dev分支(与远程仓库dev分支关联,且不以本地master为基)
git checkout -b dev 本地仓库没有dev分支时,以master为基础,创建本地dev分支
项目开始需要的操作:
- 远程仓库已有项目文件时
bash
// 克隆远程仓库项目到本地(拉取的分支默认为主分支master)
git clone http://...
// 基于master分支创建dev分支并切换到dev分支,在dev分支上进行开发
git checkout -b dev // 如果远程仓库没有dev分支
git checkout -b dev origin/dev // 如果远程仓库有dev分支,需要以远程的dev分支为基础进行开发
// 查看当前所在分支和分支列表,确保当前分支没问题
git branch
// npm安装依赖
npm i
// 运行项目
npm run dev
// 进行开发
// --- 如果独立开发,可以忽略以下操作 ---
git stash开发完毕后,先移出变更
git pull 拉取当前分支最新代码
git stash pop 移入变更代码
// ---
// 推送变更到暂存区
git add .
// 提交到仓库区
git commit -m '添加首页功能'
// 推送到远程仓库
git push -u dev origin/dev // 如果远程仓库没有dev分支
git push origin dev // 如果远程仓库有dev分支
- 远程仓库没有项目文件时