Git笔记

Git代码区域及基本命令

基本概念

3个步骤

在这里插入图片描述

正常情况下,工作流就是3个步骤,对应上图的3个箭头:

git add .  				(工作区->暂存区)
git commit -m "comment" (暂存区->本地仓库)
git push				(本地仓库->远程仓库)

4个区

  • 工作区(working Area)
  • 暂存区(Stage)
  • 本地仓库(Local Repository)
  • 远程仓库(Remote Repository)

5种状态

  • 未修改(Origin)
  • 已修改(Modified)
  • 已暂存(Stage)
  • 已提交(Commited
  • 已推送(Pushed)

检查修改

已修改,未暂存

git diff  //检查工作区和暂存区之间的差异

已暂存,未提交

git diff --cache //查看暂存区和本地仓库之间的差异

已提交,未推送

git diff master origin/master //查看本地仓库和远程仓库之间的差异

撤销修改

已修改,未暂存

git checkout .
//或者
git  reset --hard
在执行完`git checkout .`后,修改已被撤销,`git diff `没有任何内容。

​ 反义词:git add . git checkout .

已暂存,未提交

​ 当执行了 git add .后,但是还没有执行 git commit 操作,我们可以使用git reset 将提交到暂存区的修改文件拉下来,可以再使用 git checkout .回到未修改前的状态。

git reset
git checkout .
或者
git reset --hard

git reset只是把修改退回到git add .之前的状态,git checkout 退回未修改。

已推送

本地仓库远程仓库是等价的,你只需要先恢复本地仓库,再强制push远程仓库就好了:

git reset --hard HEAD^
git push -f

1.可以使用HEAD^来描述版本,一个^表示前一个版本,两个^^表示前两个版本,以此类推。

2.也可以使用数字来代替^,比如说前100个版本可以写作HEAD~100。

.可以使用HEAD^来描述版本,一个^表示前一个版本,两个^^表示前两个版本,以此类推。

2.也可以使用数字来代替^,比如说前100个版本可以写作HEAD~100。

3.也可以直接写版本号,表示跳转到某一个版本处。我们每次提交成功后,都会生成一个哈希码作为版本号,所以这里我们也可以直接填版本号,哈希码很长,但是我们不用全部输入,只需要输入前面几个字符即可,就能识别出来。

### 关于Git使用的Markdown格式笔记或模板 在创建有关Git使用的Markdown笔记时,可以遵循一定的结构来确保清晰性和易读性。下面是一个基于最佳实践构建的示例模板: #### 1. 文档标题 # Git 基础操作指南 #### 2. 版本控制简介 版本控制系统允许团队成员协作开发项目而不必担心文件冲突。Git 是最流行的分布式版本控制系统之一。 #### 3. 安装与配置 安装完成后需设置用户名和邮箱以便追踪贡献者身份。 ```bash git config --global user.name "Your Name" git config --global user.email you@example.com ``` 为了简化后续的身份验证过程,可以通过存储凭证辅助器来保存登录信息[^1]: ```bash git config --global credential.helper store ``` #### 4. 创建仓库 初始化新仓库或将现有目录转换为Git库: ```bash cd /path/to/my_project git init ``` 克隆远程仓库到本地机器上: ```bash git clone https://github.com/user/repo.git ``` #### 5. 日常工作流 添加更改至暂存区并提交更新: ```bash git add . git commit -m "描述性的消息" ``` 查看当前分支状态以及最近一次提交的信息: ```bash git status git log --oneline ``` 推送本地改动到远端服务器: ```bash git push origin main ``` 拉取最新的上游变更并与本地同步: ```bash git pull origin main ``` #### 6. 分支管理 创建新的特性分支用于隔离功能开发: ```bash git checkout -b feature_branch_name ``` 切换回主干继续其他任务: ```bash git checkout main ``` 合并已完成的功能回到主线之前先确保已经获取最新版main分支的内容: ```bash git merge feature_branch_name ``` 删除不再需要的工作副本: ```bash git branch -d feature_branch_name ``` #### 7. 解决冲突 当多人编辑同一部分代码时可能会发生冲突,在这种情况下需要手动调整直至解决所有分歧之处再完成合并流程。 #### 8. 标签打点 给特定版本打标签有助于标记重要里程碑如发布日期等特殊时刻: ```bash git tag v1.0.0 git push origin --tags ``` 此模板不仅涵盖了基本概念还包含了实际应用场景下的常用指令集,非常适合初学者作为入门参考资料使用。通过这种方式整理出来的笔记既直观又实用,能够帮助读者快速掌握Git的核心技能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值