Git Bash学习笔记
来源:互联网 发布:医疗数据分析师 编辑:程序博客网 时间:2024/05/22 04:58
Git官方网站: https://git-scm.com
Git官方中文手册: https://git-scm.com/book/zh/v2
Git在线学习: https://try.github.io
- 删除远程仓库(remote)的文件或目录
描述: 没有用.gitignore
的时候我把out
和target
也上传到远程仓库去了,现在想把这些多余的文件从远程仓库中删掉(工作区需要保留).
解决:如果本地仓库(本地版本库)中没有远程仓库的项目副本!那请先把项目pull下来保持一致.
git rm -r --cached out/git rm -r --cached target/解释:删除并且停止追踪指定文件夹,该文件夹会继续保留在工作区rm命令参数: -r 递归操作文件夹 --cached 停止追踪指定文件/文件夹
隐式从本地仓库取放到暂存区->递归删除并停止追踪关联文件/文件夹(注:这段话前半部分是我猜的)
然后提交更改(TODO待补充)
git commit -m "删除并停止关联了多余的文件/文件夹" 把暂存区的更改提交到本地仓库git push origin master把本地仓库的 master 分支 推送到 origin 主机的对应分支上,如果后者不存在,则会被新建
至此操作完成了,可以去远程库看看commits会+1,证明已成成功了~
忽略文件或目录
列表内容
储藏未修改完成(不想commit但又需要存起来)的代码,切换到另一个branch做一些事情
描述: 在加一些新功能的途中,我需要去其他branch做一些操作.但又想把刚做的半成品存起来,等操作完其他branch后取回去继续coding.
解决: 解决方案总伴随着问题的出现而产生的
error: Your local changes to the following files would be overwritten by checkout:
或||
error: Your local changes to the following files would be overwritten by merge:
someDirectory/someFile.XXX
Please, commit your changes or stash them before you can merge.
或||
Please commit your changes or stash them before you switch branches.
Git中断并提示报错,得知需要你在操作之前先commit或stash变更的文件.此时执行下面命令查看变更文件
git status //显示文件变更
文件有变更后,我们执行以下命令来stash(储藏)变更(注:stash会记录工作区[working directory]和暂存区[index/stage ]引用)
git stash //储藏变更 扩展:名称为 stash@{0} 0为变数自增长或者git stash save "some changes by xx" //以"something"内的字符作为名字储藏起来
控制台提示Saved working directory and index state巴拉巴拉…就储藏成功了.输入git status
查看工作区和暂存区.
然后查看一下储藏的东西git stash list
此时已经有记录在里面了.可以放心的去其他分支做事情了git checkout master
如需取回,执行git stash apply
来取回当前分支最后一次储藏的内容 或 git stash pop
+=并从储藏的列表删除 引用
- 储藏被清空了,如何恢复?
描述: 无~
解决:
git fsck --lost-found
此时会出现一串
Checking object directories: 100% (256/256), done.
dangling commit 4611cfb715ae4ac1dd18953084ef633145b41fac
dangling commit d53189cf76ffe79095238893d89f2c8203764233
dangling blob 18a44d78b5e5d7c17c381cb7cb9cfaa9d8541a30
dangling blob 3da41d0ff9debeacc67e009db62ad3831826e57a
dangling commit 3b867c43bad0213e53572ba543bd01b8c82cafdf
dangling blob 8178c9f19296e19d5b69a556325179f53b4639d6
…
复制dangling commit后的id(dangling blob无视掉)
git show 4611cfb715ae4ac1dd18953084ef633145b41fac //查看具体内容
commit 4611cfb715ae4ac1dd18953084ef633145b41fac
Merge: 32f5997 696fdfb
Author: someone someone@gmail.com
Date: Fri Oct 20 17:26:02 2017
+0800WIP on dev: 32f5997 更新ignore过滤规则
……
一些新加修改删除什么的…接下来可以复制下来找下自己commit的说明文字
确定要恢复的记录赋值该记录的idgit merge 4611cfb715ae4ac1dd18953084ef633145b41fac
就搞定了
- Git Bash学习笔记
- bash学习笔记(1)
- bash 脚本学习笔记
- bash初步学习笔记
- shell(bash)学习笔记
- Bash 基础学习笔记
- Bash学习笔记
- bash shell学习笔记
- bash shell 学习笔记
- BASH-学习笔记
- bash学习笔记一
- 《学习bash》笔记--引用
- 《学习bash》笔记--输入输出
- Bash学习笔记
- Bash学习笔记
- bash学习笔记
- bash shell 学习笔记
- bash学习笔记1-bash基础
- oracle数据库(统计函数和分组查询)
- 解决Linux加载失败问题
- 函数
- Spring MVC访问静态页面,在servlet.xml中加了mvc:resources mapping 就会出现404错误
- 网络中进程间的通信
- Git Bash学习笔记
- Codeforces 875E-Delivery Club
- 对顺序表的两个操作
- Linux命令大全网址
- Netty4实战第十一章:WebSockets
- python 数字信号的滤波器设计 signal.buffer
- C#228课的主要内容
- datagrid下fitcolums设置没有铺满100%问题
- 直方图的均衡化