【编程向导】代码管理-git一期讲解

添加 git add

Add file contents to the index

将文件内容添加到索引

git add 命令将文件内容添加到索引库(将修改记录添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。

添加修改记录至暂存区

bash 复制代码
# 文件
git add <file1> <file2> <file3> ...

# 目录
git add <dir>

# 所有目录文件(包括修过过的文件、新建的文件,但不包括删除的文件)
git add .

📍 示例:

bash 复制代码
# 提交单个文件
git add index.html

# 提交 markdown 文件
git add *.md

分次添加修改至暂存区

添加每个变化前,都会要求确认。对于同一个文件的多处变化,可以实现分次提交。

-p 参数相当于 --patch,表示多次提交。

bash 复制代码
git add -p
git add --patch

📍 示例:

bash 复制代码
# 将以Controller结尾的文件的所有修改添加到暂存区
git add *Controller

# 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
git add Hello*

# 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的git add [file1] [file2] ...
git add Hello?

添加跟踪修改至暂存区

标记本地有改动(包括删除和修改,但不包括新建 )的已经追踪的文件,并添加至暂存库。

-u--update 表示更新索引,使其具有与 <pathspec> 匹配的条目。

省略 <path> 表示 . ,即当前目录。

bash 复制代码
git add -u [<pathspec>]
git add --update [<pathspec>]

添加修改到暂存区

标记本地所有改动的文件(包括删除、修改和新建),并添加至暂存库。

-A--all--no-ignore-removal 表示更新索引,不仅在工作树具有匹配 <pathspec> 的文件的位置,而且索引已经有条目的位置。

bash 复制代码
git add -A
git add --all
git add --no-ignore-removal

git add -A 相当于同时执行 git add .git add -u

分支 git branch

List, create, or delete branches

列出, 创建, 或者删除分支

查看分支

查看本地分支

bash 复制代码
# 查看本地所有分支
git branch

查看远程分支

bash 复制代码
# 查看远程所有分支 -r 相当于 --remote
git branch -r

# 查看本地分和远程所有分支 -a 相当于 all
git branch -a

# 查看本地分支关联远程分支的情况(可以看到本地与远程的差距)
git branch -v

更新远程分支列表:

bash 复制代码
git remote update origin --prune

新建分支

新建一个分支,但依然停留在当前分支

bash 复制代码
# 基于当前分支末梢新建分支但并不切换分支
git branch <branchname>

# 基于当前分支末梢新建分支并切换至该分支
git checkout -b <branchname>

# 基于某次提交、分支或标签创建新分支
git branch <branchname> <commit-id>

# 新建一个分支,与指定的远程分支建立追踪关系
git branch --track <branch-name> <remote-branch>

关联远程分支

关联之后,git branch -vv 就可以展示关联的远程分支名了,同时推送到远程仓库。

bash 复制代码
git branch -u <branch-name>

或者在 git push 时加上参数 -u 参数。

bash 复制代码
git push -u origin/<branch-name>
git push --set-upstream origin/<branch-name>

切换分支

切换到指定分支。<branch-name> 为切换到的目标分支。

bash 复制代码
git checkout <branch-name>

修改分支

修改指定分支名称。<branch-name> 为指定分支新名称。-m--move 表示移动或重命名和相应的引用日志。

bash 复制代码
# 修改指定分支名称
git branch -m <old_name> <new_name>

删除分支

删除本地分支

bash 复制代码
git branch -d <local-branch-name>

删除远程分支

bash 复制代码
# 语法
git push origin --delete <branch-name>

git branch -dr [remote/branch]

# 示例:删除远程分支 feature/test
git push origin --delete feature/test

git branch -dr origin/branchA

# 删除后推送至远程仓库
git push origin:<branchname>
相关推荐
Qter19 分钟前
GIT代码提交规范模板
git
destinyol35 分钟前
wsl-docker环境下启动ES报错vm.max_map_count [65530] is too low
elasticsearch·docker·容器
阿里云大数据AI技术1 小时前
阿里云 AI 搜索开放平台:从算法到业务——AI 搜索驱动企业智能化升级
大数据·人工智能·算法
nan_black1 小时前
在conda虚拟环境安装GIT并且克隆github上项目指南(解决443问题)
git·github·conda
Likeadust2 小时前
依靠视频设备轨迹回放平台EasyCVR构建视频监控,为幼教连锁园区安全护航
大数据·网络·人工智能·音视频·实时音视频
RestCloud2 小时前
从ETL到ELT:大数据时代下两者的选型建议及优势
大数据·数据仓库·etl·数字化转型·数据集成平台·elt
前端付杰2 小时前
BFG Repo-Cleaner 教程:快速清理 Git 仓库中的敏感数据和大文件
javascript·git·github
程序员老周6662 小时前
从MySQL快速上手大数据Hive
大数据·数据库·hive·hadoop·mysql·mapreduce·数据工程师
大哥喝阔落2 小时前
git操作0409
大数据·git·elasticsearch
DXM05213 小时前
ArcGIS Engine开发教程--从零搭建GIS桌面应用
大数据·数据库·arcgis·c#·arcgis engine·arcgis engine开发