工作区:在电脑中可以看到的目录
暂存区:临时存储区域,保留文件快照,提交之前保存在此。
git add filename # 将单个文件添加到暂存区
git add . # 将工作区中的所有修改添加到暂存区
git status # 查看哪些文件在暂存区中
git commit -m "name"
版本库:每次提交都会保存新的快照,不可变。存放 在.git目录下index文件
仓库的概念
节点的概念
分支的概念
git branch name #创建分支
git checkout name #切换分支
或/
git switch name
git merge new_name #
命令 | 说明 |
---|---|
git init |
初始化仓库 |
git clone |
拷贝一份远程仓库,也就是下载一个项目。 |
git add |
添加文件到暂存区 |
git status |
查看仓库当前的状态,显示有变更的文件。 |
git diff |
比较文件的不同,即暂存区和工作区的差异。 |
git difftool |
使用外部差异工具查看和比较文件的更改。 |
git range-diff |
比较两个提交范围之间的差异。 |
git commit |
提交暂存区到本地仓库。 |
git reset |
回退版本。 |
git rm |
将文件从暂存区和工作区中删除。 |
git mv |
移动或重命名工作区文件。 |
git notes |
添加注释。 |
git checkout |
分支切换。 |
图形化操作
回退版本
git status
贮藏(Stash)更改(拉取更新时使用)
# 贮藏所有修改(包括未跟踪文件)
git stash -u
# 查看贮藏列表
git stash list
# 应用最近贮藏(保留贮藏记录)
git stash apply
# 应用指定贮藏
git stash apply stash@{1}
# 应用并删除贮藏(常用)
git stash pop
# 删除贮藏
git stash drop stash@{0}
# 忽略单个文件
config.ini
# 忽略整个目录
.vscode/
node_modules/
# 忽略特定类型文件
*.log
*.tmp
# 忽略特定文件但包含例外
!important.log
# 创建轻量标签(无注释)
git tag v1.0.0
#删除标签
git tag -d v1.0.0
# 创建附注标签(推荐)
git tag -a v1.2.0 -m "稳定版本发布"
# 为历史提交打标签
git tag -a v0.9.0 commit_hash -m "历史版本"
# 推送标签到远程
git push origin --tags