dylanin1999

导航

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编辑  收藏  举报