‘壹’ Git使用教程-7.删除文件
如何删除文件?在Git中,删除也是修改操作。我们先添加一个新文件,并且提交。
一般的,我们直接在文件管理器中把没用的文件删了。但是,我们通过 git status 命令会发现,Git追踪到工作区和版本库不一致了。
如念戚果不小心删错了,但是版本库还有的,可以很轻松地把误删的文件恢复。
很快啊,仔喊陵文渗汪件就恢复了。(有没有马老师的味道)
‘贰’ git 命令clear是什么意思
git checkout -b -newbranch [] 这样备嫌用可以创建新的分支并切换到新分支上去,b代陆滚厅表branch的意思,newbranch 是新分支的名称,如果没有指定提交点(start_point),默认从HEAD指向的提交创建分支。 git branch [] 创建早隐新的分支,但是不会切换到新
‘叁’ git如何放弃所有本地修改
分析如下:
可引用gitcheckout或者用git clean -df至修改前的状态。就可以放弃所有修改。
1、gitcheckout功能是本地所有修改的。没有的提交的,都返回到原来的状态
2、gitstash功能是把所有没有歼扮纤提交的修改暂存到stash里面。可用gitstashpop回复。
3、gitreset--hardHASH功能是返回到某个节点,不保留修改。
4、gitreset--softHASH功能是返回到某个节点。保留修改。
5、git clean -df功能是保留修改,返回到某个节点。
拓展资料:
1、Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源缺念码的版本控制软件。
2、Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的氏仿项目迁移到了 Git 上。
(资料来源:网络:Git)
‘肆’ git clone 命令
git clone [url][url] 是你要拷贝的项目。
在git中,clone命令可以在当前路径下创建一个新的目录,并复制git库到新创建的目录,用于查看或者修改该项目,语法为“git clone [url]”。
本地仓库在哪?在git clone 命令执行结束之后,目录A下会多一个目录B,目录B下就是本地git仓库,并且本地git仓库已经和远程git仓库连接!
此时,本地仓库默认分支名字是main,为什么叫main呢?因为远程仓库的默认分支名字是main。
本地仓库关联的远程仓库默认名字是origin。
‘伍’ Git语法之Checkout使用
此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个升悄文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md )来放弃指定文件的缓存,放弃所有的缓存可以使用 git reset HEAD . 命令。
此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续悉粗用(一)中的操作,就可以放弃本地的修改。
可以使用 **git reset --hard HEAD^ 来回退到上一次commit的状态。
此命令可以用来回退到任意版本: git reset --hard commitid **
你可吵陆渣以使用 **git log **命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是 commitid:
图省略...
‘陆’ 5分钟知道git如何使用(git入门常用命令)
这里引用一下“菜鸟教程”对git的描述
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull
关于git下唯正氏载安装这里就不细说了,毕竟我们只有5分钟的时间,可以去git官网下载对应的清差版本网上查查安装教程。
首先建立一个本地仓库(repository)。你可以使用一个已经存在的目录作为Git仓库或创建一个空目录。我这里就创建一个空目录itep为例:
初始化本地仓库
我们有一个仓库,但什么也没有,先在工作区创建一个文件‘demo.html’,可以使用add命令添加到暂存区。
我们在工作区创建了好几个新的文件,html,js,和css。接下来我们都可以添加到暂存区
当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。 注意是修改,而不是新增,新增的文件我们还是要先add,之后再修改这些文件的话,就可以直接使用-a命令了。
现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。
为此,我们将它们提交到本地仓库
接下来我们发布版本,提交到远程仓库。注意这里远程仓库的地址只是举例
5分钟已经到了吧...
上面从新建一个页面,提交到远程仓库的流程已经说完了,接下来我们说点别的。。
删除文件
删除工作区和暂存区文件git rm ,删除文件有以下几种形式
对,就是这么简单,你的工作区和暂存区demo.js这个文件已经没有了
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
强行从暂存区和工作区中删除修改后的 demo.html 文件:
如指散果想把文件从暂存区中删除,但仍然希望保留在当前工作目录中的话这样操作
‘柒’ Git 中 6 个基本常用命令
大家好啊,我是大田。
想更深刻了解 Git 常用命令,先来看看原理图:
我们使用 Git 操作的核心步骤就是:
先add代码到git缓存
然后commit到git本地仓库
最后push到远程Github代码仓库
备注:
workspace:当前工作区,需要经过 add、commit、push 才能上传到远程仓库
index:缓存区,标仔镇记你本地的哪些内容是被 git 管理的
repository:本地仓库,保存各个版本的提交
remote:远程仓库
1、克隆远程项目到本地
git clone url
2、克隆后,创建新分支,名字叫 dev
git checkout -b dev
3、加到缓存区
1)git add .:添加所有项目至缓存区
2)git add 目录名:添加指定目录腔陆到缓存区
3)git add 文件名:添加指定文件到缓存区
4、提交至本地仓库
git commit -m "注释信息"
5、推送本地仓库信息至远程仓库
git push origin master:将本地分支的更新内容,全部推送至远程仓库 master 分支
git push origin dev:将本地 dev 分支推送到远程,再由一个人统一加到 master 分念圆粗支上
6、拉取远程仓库最新文件
git pull:拉取远程仓库所有分支合并到本地
git pull origin master:拉取远程master分支,合并到当前本地master分支
git fetch:仅做拉取操作,不做合并,合并需要自己再找其他方法
备注:一般都用 git pull
‘捌’ 如何配置git for windows
下载:在官方网站下载最新版本。
安装:点击下一步,直到出现步骤三。
在Windows Explorer integration选项中将“Git Bash here”和“Git GUI here”打对勾。
在“Adjusting your PATH environment”选项中,默认即可。
在“Configuring the line ending conversions”选项中,
第一个选项:如果是跨平台项目,在windows系统安装,选择;
第二个选项:如果是跨平台项目,在Unix系统安装,选择;
第三个选项:非跨平台项目,选择。
选择“Finish”,结束安装。
步骤阅读
7
在桌面上,可以看到安装后的“Git Bash”选项,双击打开,可以进行操作了。
‘玖’ Git工作流程和常用命令分享
git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。林纳斯·托瓦兹在编写第一个版本时就使用了“git”这个名称, 他将工具描述为“愚蠢的内容跟踪器”。
[图片上传失败...(image-c23291-1619063471664)]
四个专有名词:
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
打开本地生成的.git隐藏文件
创建新项目gittest
创建新文件test.txt
git add <file>
git status显示有变更的文件
git restore <file> 撤回文件修改内容
git commit –m “注释”
修改内容-> 执行git diff工作区和本地仓库的差异
git log显示当前分支的版本历史
git reset --hard HEAD^ 当前版本回退到上一个版本
git reset --hard HEAD^ ^ 当前版本回退到上上一个版本
git reset --hard HEAD~100 回退到前100个版本
恢复已经删除的版本
git reflog 展示所有的提交记录
git reset --hard <版本号> 回退到指定版本
git push origin master 将本地master分支推送到远程master分支,相当于创建远程分支
git checkout -b dev = git branch dev + git checkout dev 创建并切换分支
git branch 不带参数,会列出所有本地的分支;带参数表示创建分支
git branch –d name 删除本地分支(-D表示强制删除)
git branch –r 不带参数,会列出所有远程的分支
git branch --set-upstream-to=origin/<branch本地> 本地和远程分支关联
git push origin –delete <branch> 删除远程分支
git merge release用于合并指定分支到当前分支上
注:Fast-forward表示的合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。在这种模式下,删除分支后,会丢掉分支日志信息。可以使用带参数 --no-ff来禁用”Fast forward”模式。
git merge --no-ff -m “注释”dev
git checkout release 切换release分支
vim test.txt 修改某条内容
git commit test.txt -m “release修改某条内容”
git checkout master 切换master分支
vim test.txt 修改某条同release内容
git commit test.txt -m “master修改某条内容”
git merge release 显示冲突
git status 显示冲突提示
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中>>>>release 是指release上修改的内容
vim test.txt 修改内容
git add test.txt
git commit -a -m “fix conflict”
当前分支有没有提交但也不合适现在就提交的内容,Git提供了暂储功能stash
git checkout release
vim test.txt 修改test.txt内容
git checkout develop 此时会提示Aborting
git status 查看当前状态
Git stash list 查看所有暂储列表
git stash apply恢复,恢复后stash内容并不删除,你需要使用命令git stash drop来删除;
另一种方式是使用git stash pop,恢复的同时把stash内容也删除了
创建Git Tag并推送远程服务器
git tag -a V1.0.0 –m“注释” //创建TAG
git push origin V1.0.0 //推送到远程服务器
git push origin --tag //提交所有tag至服务器
git tag -d V1.0.0 //删除本地标签
git push origin --delete tag <tagname> //删除远程标签
HEAD,它始终指向当前所处分支的最新的提交点。你所处的分支变化了,或者产生了新的提交点,HEAD就会跟着改变
add相关命令很简单,主要实现将工作区修改的内容提交到暂存区,交由git管理。
git add .添加当前目录的所有文件到暂存区
git add 添加指定目录到暂存区,包括子目录
git add 添加指定文件到暂存区
commit相关命令也很简单,主要实现将暂存区的内容提交到本地仓库,并使得当前分支的HEAD向后移动一个提交点。
git commit -m 提交暂存区到本地仓库,message代表说明信息
git commit --amend -m 使用一次新的commit,替代上一次提交
上传本地仓库分支到远程仓库分支,实现同步。
git push 上传本地指定分支到远程仓库
git push --force强行推送当前分支到远程仓库,即使有冲突
git push --all推送所有分支到远程仓库
关于分支,大概有展示分支,切换分支,创建分支,删除分支这四种操作。
git branch列出所有本地分支
git branch -r列出所有远程分支
git branch -a列出所有本地分支和远程分支
git branch 新建一个分支,但依然停留在当前分支
git checkout -b 新建一个分支,并切换到该分支
git checkout 切换到指定分支,并更新工作区
git branch -d 删除分支
git push origin --delete 删除远程分支
关于分支的操作虽然比较多,但都比较简单好记
merge命令把不同的分支合并起来。在实际开放中,我们可能从master分支中切出一个分支,然后进行开发完成需求,中间经过R3,R4,R5的commit记录,最后开发完成需要合入master中,这便用到了merge。
git merge 合并指定分支到当前分支
注:如果在merge之后,出现conflict,主要是因为两个用户修改了同一文件的同一块区域。需要针对冲突情况,手动解除冲突。
rebase又称为衍合,是合并的另外一种选择。
在开始阶段,我们处于new分支上,执行git rebase dev,那么new分支上新的commit都在dev分支上重演一遍,最后checkout切换回到new分支。这一点与merge是一样的,合并前后所处的分支并没有改变。
git rebase dev,通俗的解释就是new分支想站在dev的肩膀上继续下去。
rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。
rebase也需要手动解决冲突。
1.如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase
2.如果你想保留完整的历史记录,并且想要避免重写commit history的风险,你应该选择使用git merge
reset命令把当前分支指向另一个位置,并且相应的变动工作区和暂存区。
git reset —soft 只改变提交点,暂存区和工作目录的内容都不改变
git reset —mixed 改变提交点,同时改变暂存区的内容
git reset —hard 暂存区、工作区的内容都会被修改到与提交点完全一致的状态
git revert用一个新提交来消除一个历史提交所做的任何修改。
在回滚这一操作上看,效果差不多。git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
在 Git工作区的根目录创建一个特殊的.gitignore文件。
在.gitignore文件中,添加需要忽略的文件。
git rm -r --cached . //将仓库中的index递归删除
git add . //重新添加仓库索引
git commit -m “update git.ignore” //提交
git branch --set-upstream-to=origin/<branch> <branch> //重现将本地仓库和远程仓库关联
最后,如果此篇博文对你有所帮助,别忘了点个赞哟~
‘拾’ 【学了就忘】Git操作 — 50.git clean 命令
对于工作目录中一些工作或文件,你想做的也许不是stash存储,而是移除,即: 清理工作目录仿码简。
可以使用 git clean 命令来处理这个问题。
git clean 命令是用来从你的工作目录中,删除所有未被Git追踪过的文件。
git clean 命令经常和 git reset --hard 命模腔令一起结合使用。因为记住 reset 回退,只影响被追踪过的文件,所以需要 clean 命令,来删除没有track过的文件。
结合使用这两个命令,能让你的工作目录完全回滚到一个指定的commit状备裤态。