git在工程中的操作 - patch stash status checkout reset log
最近接触了大量的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
posted on 2022-08-13 16:15 DylanYeung 阅读(56) 评论(0) 编辑 收藏 举报