[003]深入理解Git 子命令 | GitGuide

GIT ADD

Git Add 是一个多功能命令行。

用途

1. 开始跟踪新文件(begin tracking)

文件会有两种状态,一种是未跟踪的untracked,表明Git并不知道它的存在;另一种是tracked,是Git知道它的存在的。而已经tracked 的文件又可以有其他三种状态:未修改unmodified,已修改modified 和已暂存staged。

2. 将已跟踪文件放到暂存区(stage file)

3. 合并时将有冲突的文件标记为已解决的状态。

注意事项:

运行git add 后又修改了的文件,会在git status中同时显示两种状态,to be commited 还有unstaged。需要重新运行git add 将修改提交,否则commit后只能显示上次修改的结果,而不是最新修改的结果。

假如文件已经被追踪过,然后又修改了,可以跳过staged区,可以一步到位committed。但是容易将不必要的文件一并添加,需要谨慎使用:

git commit -a -m "备注信息"

GIT RM

本质:将文件从暂存区移除,不再被Git跟踪。

用途:

1.手动删除目录中的一份文件后,需要将它从Git的已跟踪清单中移除,即在Git的工作目录中删除指定文件,不会出现在未跟踪清单中。

#手动删除后,会在unstage中出现
rm file1


#利用git删除后会在to be commited中出现
git rm file1

2.将文件从git 仓库中删除,即暂存区移除,但仍保留在当前工作目录中,即仍保留在磁盘中,不被Git继续跟踪。

git rm --ached file1

3. 删除文件/目录名称

比如删除log目录下的拓展名为 .log的文件,注意反斜杠\是Git自己特有的文件模式拓展匹配方式

git rm log/\*.log

比如删除当前目录下的以~结尾的文件

git rm \*~

GIT MV

Git mv 在学会使用后会更加省事,它同时实现了三个步骤。

比如 git mv file1 file2

实际上等于

mv file1 file2
git rm file1
git add file2

GIT BRANCH

# 创建分支
git branch branch1

 在Git里,当你复制或者初始化一个仓库后,git 会有默认的分支为main/master,但是它与其他分支并没有等级区别,所有的分支在Git都是平行的。

#新建并进入到分支1
git checkout -b branch1

#进入分支main
git checkout main

Git可以自由切换分支,在分支中的工作不会影响到另一个分支,除非使用merge,这是可能会产生矛盾,假如对同个文件进行修改,但是修改内容不一样。

之所以我们经常会把其他分支,比如branch1, merge到main里,主要是为了保持项目的稳定性。具体而言,就是我们可能很少修改main的内容,main的指针会停留在这个项目的旧版本上,或者可以认为是已经发布的经过测试后稳定性比较好的那个版本。而其他分支由于测试修补bug或者开发新功能,会发展得比较快,但是稳定性没有main好,我们只有在分支上确定好了稳定性之后,才会merge到main,这样的话,Git 会保留branch1 的快照 和main的快照,同时会在合并后的父文件保留快照。

GIT PULL, GIT FETCH

git pull , git fetch 两个操作容易混淆。

git fetch 是从远程分支直接抓取更新,但不会直接融入到当前分支中。

git pull 实现git fetch + git merge 两个操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值