GIT常用命令大全(二)

1.忽略文件权限或文件所有者

git config core.filemode false  // 当前版本库
git config --global core.fileMode false // 所有版本库
cat .git/config  //在git顶层管理的目录,查看当前git本地仓库的配置文件
2.忽略某文件或某目录所有文件的变化

//1、对于还没有track的文件或目录(没有add和commit的文件)
 (1)~/.gitconfig  忽略规则由本机所有仓库共用
如:

[user]
    name = yourname
    email = yourname@email.com
[gui]
    encoding = utf-8
[core]
   excludesfile = ~/.gitignore

也可以用命令设置
git config --global core.excludefile ~/.gitignore

(2).git/info/exclude  仓库内根文件夹全局忽略文件的配置文件,配置该文件可以忽略。支持正则表达式
(3).gitignore   可以在仓库某一级目录下的创建该配置文件,增加忽略文件的规则。若在仓库的根文件夹创建,效果等同于.git/info/exclude配置文件
//配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
//2.对于已经缓存,但未commit的文件
git rm --cached filename  使用命令将要忽略的文件从缓存的索引中删除,再使用1中的方法增加忽略
git reset HEAD filename  也可以使用这个
//3.对于已经track的文件
忽略跟踪(提交代码时,忽略某一个文件不提交,即某个文件不被版本控制)
git update-index --assume-unchanged FLIE   #FILE是目标文件路径       
恢复跟踪
git update-index --no-assume-unchanged FLIE   #FILE是目标文件路径
不过如果执行 git checkout和git reset的时候仍然会影响到这些文件,并把内容恢复到被跟踪的内容(再次修改仍然不会被跟踪)。
如果忽略的文件多了,可以使用以下命令查看忽略列表
git uls-files -v | grep '^h\ '
提取文件路径,方法如下
git ls-files -v | grep '^h\ ' | awk '{print $2}'
所有被忽略的文件,取消忽略的方法,如下
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged
3.合并多次commit为一次commit

 git rebase -i HEAD~4 对最近的 4 个 commit 进行 rebase 操作;
操作Commands :
pick:保留该commit (缩写p)
reword:保留该commit,但要修改该次commit的注释(r)
edit:保留该commit,但要停下来修改该提交(不仅仅修改注释)(e)
squash:将该commit和前一个commit合并(注释也合并)(s)
fixup:将该commit和前一个commit合并,放弃当前 commit 的注释(f)
exec:执行shell命令(x)
drop:丢弃该commit(d)
编辑后保存退出,git 会自动压缩提交历史,如果有冲突,记得解决冲突后,使用
git add .
 git rebase --continue 
重新回到当前的 git 压缩过程
如果你想放弃这次压缩的话,执行以下命令
git rebase --abort
推送到远程仓库 git push -f
 

4.删除某次commit

可以使用 git 压缩 rebase 指令来删除某个 commit
可以通过 git rebase -i HEAD~1 (对最近1次 commit 进行 rebase) 或 git rebase -i 9fbf10(对 commit id 前几位为 9fbf10 的 commit 之后的 commit 进行 rebase);
将需要删除的 commit 设置操作指令 drop ,保存退出即可;
 在执行 git log 时,可以发现该条 commit 已经从提交历史中删除了;
5.修改当前commit的注释

git commit --amend

出现有注释的界面(你的注释应该显示在第一行), 输入i进入修改模式,修改好注释后,按Esc键 退出编辑模式,输入:wq保存并退出。ok,修改完成。

如果修改之前的注释,可以使用git rebase -i [commit_id]指令,使用edit的选项

 

 

6.暂存文件

常用git stash命令:

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

       说明:新增的文件,直接执行stash是不会被存储的,可以使用先使用git add 加到git 版本控制里,再git stash
 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Git常用命令大全Git是现代化的版本控制系统,常被用于软件开发,协作和管理。它允许在开发过程中创建和管理不同的版本,跟踪文件的更改,以及支持团队合作。Python则是一种广泛应用于开发Web应用程序以及数据科学和人工智能领域的高级编程语言。在使用Git时,Python的代码可以与Git进行集成。这里是Python Git常用命令的大全: 1. git init:初始化一个新的 Git 仓库。 2. git clone:从现有的 Git 仓库克隆项目,可以是本地仓库或远端仓库。 3. git add:将文件添加到 Git 仓库中。git add . 可以添加所有更改。 4. git commit:将所有已添加的文件提交到本地 Git 仓库中。 5. git status:查看当前工作目录中 Git 仓库的状态。 6. git log:查看提交记录。 7. git push:将本地 Git 仓库的更改推送到远端仓库。 8. git pull:将远端 Git 仓库的更改拉到本地仓库。 9. git branch:创建新的分支。 10. git checkout:切换分支。 11. git merge:将一个分支的更改合并到另一个分支。 12. git revert:撤销一个提交。 13. git rebase:将一个分支的修改合并到当前分支。 14. git config:配置 Git。 15. git remote:管理远端仓库。 这是Python Git常用命令的大部分命令,但这并不是全部。在使用Git和Python时,这些命令应该是最为重要的。无论是在个人项目中还是团队合作中,这些命令会让你更加高效地使用Git,并保护你的代码免遭不可挽回地灾难。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值