廖雪峰git学习

基本操作:

(1)git status <file>
查看工作区和暂存区的文件状态
(2)git add {file}  或git add .
添加到暂存区,点的操作就是将所有文件目录下的文件都加入到暂存区
(3)git diff <file>
对比文件:
工作区&暂存区  git diff <file>
工作区&版本库  git diff HEAD <file>
暂存区&版本库  git diff --cached <file>
(4)git reset  <版本编码>
--hard会回退到上个版本,

  • 暂存区:被重置

  • 工作区:被重置(你的所有未提交更改永久丢失!)

  • 效果:完全回到 C0 的状态,就像什么都没发生过

--soft会回退到上个版本的未提交状态,

  • 暂存区:保持你的所有更改(仍然是 git add 后的状态)

  • 工作区:保持你的所有更改

--mixed会回退到上个版本已add但未提交的状态。

  • 暂存区:被重置(与 C0 一致,你的 git add 效果被取消)

  • 工作区:保持你的所有更改(但变为了未暂存状态)

  • 效果:你需要重新 git add 文件后再提交

(5)git add

git add <file>  添加到暂存区,git add . 全部添加到暂存区

(6)git commit

git commit -m "备注提交内容"。

note:git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。注意:git commit 提交的是暂存区的东西

(7)git restore

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

案例:1、2、常用

1、工作区中的修改尚未被提交到暂存区,撤销修改:git restore readme.txt

2、工作区中的修改已被提交到暂存区,尚未被提交到本地仓库,撤销修改:git restore --staged readme.txt将修改从暂存区撤除,然后再用git restore readme.txt将修改从工作区撤除。

3、修改已被提交到本地仓库,撤销修改:假如该次提交只提交了这一个修改,则可用git reset --hard CommitID恢复到提交前的版本。也可以用git revert命令反转该次提交。但是如果该次提交涉及了多个文件的多处修改,这样操作会将其他的修改一并清除。此时我们可以用git reset命令指明文件和预期的恢复ID来将修改从暂存区中移除。例如git reset HEAD^ readme.txt是将此文件恢复到次新版。然后git restore readme.txt将修改从工作区撤除。然后再git commit -m msg提交到本地仓库

(8)删除文件

先rm <file>

后通过git rm <file> 或git add <file>

最后git commit -m "版本库已删除 file文件"

note:另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

git checkout -- test.txt

ps:git checkout -- <file-name> 就等于现在的 git restore <file-name>

(9)创建分支

git branch dev #创建分支
git checkout -b dev #创建分支并切换
git switch -c dev #创建分支并切换(新版)

(10)合并分支

举例:master 合并dev的修改

1、切换分支:git checkout main

2、git merge dev

(11)删除分支

git branch -d <分支名>

(12)合并分支通过 分支管理策略 - Git教程 - 廖雪峰的官方网站

git merge --no-ff -m "merge with no-ff" dev

好处:合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

(13)远程仓库

远程仓库 - Git教程 - 廖雪峰的官方网站

多人协作 - Git教程 - 廖雪峰的官方网站

实际例子:

(1)合并分支遇到冲突

1、通过git status 处理每一个冲突

2、冲突解决后,通过git commit 

3、填写备注信息 保存退出

(2)bug出现时,手头上正在开发分支(dev),需要马上先去修复bug的场景

由于手头上的dev还有好几个修改不方便提交

保存:git stash 保存现场的工作区和暂存区

恢复:先用 git stash list查看最稳妥

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值