Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

3.1 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 rebase new_name  #衍合并分支

marge

  1. 将目标分支的所有提交打包为单个新的合并提交
  2. 保留原始分支的完整历史记录
  3. 创建新的合并节点(commit),这个节点有两个父节点

rebase

  1. 将当前分支的所有提交按顺序重演到目标分支的最新提交之后
  2. 修改提交历史:创建全新的提交序列
  3. 不会产生合并提交节点
  • 只对本地未推送的分支使用rebase
  • 个人分支与主分支同步

出现冲突选择保留与剔除

分支操作

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


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

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

#再次此之前贮藏暂存文件防止冲突
git stash

其他

回退版本

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

命令表

命令表

sourceTree

概念:图形化操作显示

图示

标签

可以进行版本发布,压缩下载

)