Git操作备忘

1、不该提交的文件已经提交后,仅仅在.gitignore中加入忽略是不行的。这个时候需要执行:

git rm -r --cached 文件/文件夹名字

去掉已经托管的文件,然后重新提交,这时.gitignore才起作用:

git add .

git commit -m ''

 

2、git查看本地文件的修改明细

git diff 文件名

 

3、git 撤销,放弃本地修改

3-1、未使用 git add 缓存代码时

可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” 且“--”与filepathname之间有空格,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout .  命令

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

3-2、已经使用了  git add 缓存了代码

可以使用  git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。

此命令用来清除 git  对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(3-1)所示的状态。继续用(3-1)中的操作,就可以放弃本地的修改。

3-3、已经用 git commit  提交了代码

可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard  commitid

git log 可以查看请交历史记录 

 

4、查看某次commit的修改内容

4-1、首先,需要通过git log打印所有commit记录

4-2、找到你想查看的那次commit的commitid。

4-3、查看修改。

git show commitId

4-4、查看某次commit中具体某个文件的修改:
git show commitId fileName

 

5、只提交部分文件到服务器

在我们的项目中,经常会在本地编译一些代码,还未写完,测试那边来告诉你要改改某个文件的bug,非常着急,此时改完了,提交的时候,自己还在编译的代码并不想提交,此时,你可以利用git这些指令帮助你!

5-1/ git status -s 查看仓库状态

5-2/ git add src/components/文件名 添加需要提交的文件名(加路径--参考git status 打印出来的文件路径)

5-3/ git stash -u -k 忽略其他文件,把现修改的隐藏起来,这样提交的时候就不会提交未被add的文件

5-4/ git commit -m "哪里做了修改可写入..."

5-5/ git pull 拉取合并

5-6/ git push 推送到远程仓库

5-7/ git stash pop 恢复之前忽略的文件(非常重要的一步)

 

6、部分文件暂时忽略提交

有时候在排除bug、测试等场景下,会修改一些文件,但是这些文件又不希望在每次提交代码的时候都手动排除,这时候可以临时忽略这些文件。这样就不用修改.gitignore文件

使用方式

# 忽略文件

git update-index --skip-worktree <文件名称或路径,可以是多个文件>

# 取消文件忽略

git update-index --no-skip-worktree <文件名称或路径,可以是多个文件>

更简便的方式是修改~/.gitconfig文件,在其中添加别名,这样每次使用的话,命令会简洁

# 示例 [...]

...

[alias]

ignore = update-index --skip-worktree

unignore = update-index --no-skip-worktree

ignored = !git ls-files -v | grep --color "^S "
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值