git在工程中的操作 - patch stash status checkout reset log

作者记录了近期大量git操作中遇到的问题及解决方法,包括删除文件及其上传、commit回溯、查看commit历史、使用git stash、查看修改内容、撤销git add、生成patch等,方便自己查阅,也希望能帮助他人。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近接触了大量的git操作并且遇到了很多的问题,这里记录一下,并且方便以后查阅。也希望能够帮到其他的人。

1、删除文件及其上传

在工作空间手动删除文件 会显示

$ git status 
 On branch master 
 Changes not staged for commit: 
    (use "git add/rm <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory)
        
        deleted: hello.txt

①确定要删除文件

git rm hello.txt //先删除 
git commit -m "i wanna remove test.txt" //再提交

②误操作,需要恢复

git checkout --hello.txt

③需要删除git仓库和暂存区的文件,但保留本地文件

git rm --cached hello.txt

2、commit回溯

①回退到上一个版本

git reset --hard HEAD^

②回退到前n个版本

git reset --hard HEAD~3

③回退到指定版本

git reset --hard commit_id

3、查看commit 历史(查看commit id)

git log

4、当前工作未完成,但是急需回滚代码时,使用git stash

git stash save "name" //将当前未完成的修改保存 
git stash list //查看缓存的状态 
git stash pop //将缓存状态弹出(恢复)
git stash apply stashname //应用对应的stash

5、查看修改内容

git show commit_id

6、撤销git add到缓冲区的内容(绿字变回红字)

git reset HEAD //整体撤销 
git reset HEAD filename //撤销某个文件名

7、撤销没有add到缓冲区的修改内容(红字变无)

git checkout -- filename

8、生成patch

git diff > Mypatch.patch

9、强制打入patch(会生成对应的rej文件,但是不影响效果)

git apply --reject --whitespace=fix mychanges.patch

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值