- git的关键优势:git跟踪管理的不是文件,而是修改。
- git pull:从远程仓库获取最新的更改并合并到本地仓库的当前分支。git pull 实际上是 git fetch 和 git merge 的组合。
- git clone:创建一个与远程仓库完全一样的本地副本,包括所有的文件、提交历史、分支和标签。
- 两者都是从远程仓库获取代码,但是,git clone是创建一个完整的本地副本,而git pull是在已有的本地仓库基础上更新代码。
- 远程仓库:
- 查看远程仓库:git remote -v
- 添加:git remote add 远程仓库的别名 远程仓库的地址
- 删除:git remote remove 远程仓库的别名
- git push:git push <远程主机名> <本地分支名>:<远程分支名>
- -u表示设置默认值,下一次git push就直接git push就可以了
- 本地和远程分支名相同时,远程分支名和冒号可省略
- git fetch:获取自上次与远程仓库交互以来远程仓库上的所有更改。这些信息会被存储在本地仓库的远程跟踪分支中,这些远程跟踪分支通常以 refs/remotes// 的形式命名。
- git merge:用于将两个或多个分支合并成一个新分支的操作。(只有仓库才有分支概念,暂存区和工作目录没有)
- git checkout:可以用于恢复工作区的文件。例如,git checkout – filename会将工作目录的指定文件filename恢复到最后一次提交的状态。这可以用于撤销对该文件的本地修改。用暂存区文件替换工作目录文件。
- 删除文件:git rm命令主要是将文件从暂存区删除,然后git commit命令来提交这一删除,将其永久地从Git仓库中移除。
- HEAD:一个特殊的指针,只在本地仓库中(Repository)存在,它始终指向当前分支上的最新提交。它的指向可以随着分支的切换而改变,自动更新为指向新分支的最新提交。特殊情况下,它还可以用来指示特定的提交,作用是在该提交的基础上创建新的分支或进行其他操作。
- git ls-files:用于列出当前暂存区(index)里的文件。
- git diff:在 Git 中用于显示暂存区和工作区之间的差异。它会比较当前工作目录中的文件与最后一次提交到暂存区(Index)的文件之间的差异。
- git status:用于显示工作目录和暂存区(Index)的状态。说明哪些文件已经被修改、哪些文件已经添加到暂存区、哪些文件还未被 Git 追踪等。
- git log:显示的是已经提交到本地仓库(Repository)的提交历史(commit)。
- git ls-tree -r --name-only HEAD:本地仓库(repository)中所有文件的完整列表。r(递归)、–name-only(只列名字)、HEAD(最新提交,可替换为某次提交的哈希值)
- git reset --模式 版本号:本地仓库(Repository)回退到某一个版本。
- 版本号:HEAD 表示当前版本,HEAD^ 上个版本,HEAD^^表示上上个版本;或者用版本ID
- hard模式:暂存区与工作区都回到上一次版本,并删除之前的所有提交
- soft模式:暂存区和工作区都不会改变,但是,回退的文件会变为未被git追踪的新文件
- mixed模式(默认):重置暂存区的文件与上一次的提交(commit)保持一致,工作目录的文件不变
- index区(暂存区):工作区和仓库的桥梁,用于管理提交。例如,有时工作区的修改只有部分需要提交;合并冲突时使用暂存区整理修改等。
git版本管理
于 2024-03-03 17:32:51 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)