Git的三个区域
工作区:实际开发时操作的文件夹
暂存区:保存之前的准备区域(暂存改动过的文件)
版本库:提交并保存暂存区中的内容,产生一个版本快照
命令 | 作用 |
git add 文件名 | 暂存指定文件 |
git add . | 暂存所有文件 |
git commit -m '注释说明' | 提交保存,产生版本快照 |
Git文件状态
git文件2中状态:1.文根宗:新文件,从未被git管理过。 2.已跟踪:git已经知道和管理过的文件。
文件状态 | 概念 | 场景 |
未跟踪(U) | 从未被Git管理过 | 新文件 |
新添加(A) | 第一次被Git暂存 | 之前版本记录无此文件 |
未修改(‘’) | 三个区域统一 | 提交保存后 |
已修改(M) | 工作区内容变化 | 修改了内容产生 |
查看工作命令:git status -s
Git暂存区使用
暂存区进行临时暂存,可以临时回复代码内容,与版本解耦
暂存区->覆盖->工作区: git restore [./目标文件]
从暂存区移除文件:git rm --cached 目标文件
查看暂存区文件:git ls-files
Git回滚版本
把版本某个版本对应内容快照,恢复到工作区/暂存区
查看提交历史:git log --oneline
方法1:比较暴力,没有保留前的内容快照
1.只有记录在版本库的提交记录才能恢复
2.回退后,继续修改->暂存->提交操作
3.强行推送:git push -f
命令 | 工作区 | 暂存区 |
git reset --soft 版本号 | 保留 | 保留 |
git reset --hard 版本号 | 覆盖 | 覆盖 |
git reset --mixed 版本号 | 保留 | 覆盖 |
方法2:保留上次提交记录,只是移除当前提交
回退库中最近一次推送的提交:git revert HEAD
回退指定的某次提交:git revert [提交快照哈希值]
Git分支
创建分支:
1.确保你已经有了本地分支的最新代码。运行以下命令来更新你的本地分支
git checkout your-base-branch # 切换到你的基础分支
git pull origin your-base-branch # 从远程仓库更新你的基础分支
2.创建一个新的本地分支
git checkout -b new-branch-name # 创建并切换到新分支
3.将新分支推送到远程仓库,并建立上游(upstream)跟踪
git push -u origin new-branch-name # 推送新分支到远程仓库,并设置上游跟踪
推送代码
1.查看分支:git branch [-r查看所有远程分支]
2.检出分支:git checkout <分支名>/<版本号>
3.合并分支:git merge <b分支>
4.提交合并:git add . git commit -m '合并内容'
5.推送:git push
新建分支并关联远程分支
git checkout -b [本地分支名] orgin/[远程分支名]
git branch --set-upstream-to=origin/远程分支名 本地分支名
拉整个项目分支及本地创建同名分支
1.拉去整个远程代码库
git clone [地址]
2.将远程仓库的所有分支拷贝到本地仓库
git fetch
3.切换分支
git checkout [分支名]