Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

3.4 KiB

Git

  • Git的概念
    开源的分布式版本控制系统管理
  • 三个区域的概念

工作区:在电脑中可以看到的目录

暂存区:临时存储区域,保留文件快照,提交之前保存在此。

git add filename       # 将单个文件添加到暂存区
git add .              # 将工作区中的所有修改添加到暂存区
git status             # 查看哪些文件在暂存区中
git commit -m "name"

版本库:每次提交都会保存新的快照,不可变。存放 在.git目录下index文件

  • 仓库的概念

    • 存放所有文件和历史记录
  • 节点的概念

    • (提交commit)是仓库中项目某个事件点快照,生成40位哈希值
  • 分支的概念

    • 开发过程中独立的分流线,本质是一个指向某个可提交的移动指针
    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 分支切换。

sourceTree

图形化操作

分支

#相关操作
git branch  #查看分支
git branch  name  #创建分支
git checkout name #切换分支


# 设置上游分支(第一次推送时)
git push -u origin 分支名

# 之后就可以简化命令
git pull
git push

其他

  • 回退版本

    git status  
      
    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}
  • 编写忽略文件(.gitignore)
# 忽略单个文件
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

常用命令