一、百度git进入git官网下载对应的git,按next默认安装
二、右键按git bash here进入git命令行工具,输入git --version,查看git版本
三、git命令
选中文件,然后右键git bash here,对文件进行git操作
ls -a:查看目录下的文件
详细介绍:git reset HEAD filename
该操作 可以 拉取最近一次提交到版本库的文件到暂存区 并且该操作不影响工作区
简单的来说 就是可以帮我们从版本库中 拉取文件到 暂存区 当我们把工作区的某个文件弄乱了 我们就可以使用该命令 把版本库中的那个文件拉到暂存区 然后在拉回工作区
用法2:先提交文件git add到暂存区,然后git log --online,查看仓库版本信息
例如要拉回版本号为d979635的add.html文件
再执行git checkout -- add.html,将从仓库拉回到暂存区的add.html,再拉回到工作区未修改状态。此时只存在第一次提交到暂存区的add.html了。
git rm(删除操作)
git rm 与 git rm --cached 的区别
git rm
: 同时从工作区和索引中删除文件。即本地的文件也被删除了。
git rm --cached
: 从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控制。
使用 git rm text1.txt
删除 text1.txt
之后,索引和本地文件都被删除了
使用git rm --cached text1.txt
把文件text1.txt
从git的索引库中移除,但是对文件text1.txt
本身并不进行任何操作
git rm 与 rm 的区别
git rm
: 来删除文件,同时还会将这个删除操作记录下来;
rm
: 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除;
提示:即使你已经通过 rm
将某个文件删除掉了,也可以再通过 git rm
命令重新将该文件从 git
的记录中删除掉。
注意:上述操作最后要执行git commit
才真正提交到git仓库
情景一: 当在文件目录中删除文件text3.html时,
1、git status
2、此时如果想恢复text3.html,可以执行git checkout -- text3.html
3、如果确定删除,执行git rm text3.html
4、如果执行完git rm text3.html后,才想要恢复text3.html,此时可以执行命令git reset HEAD text3.html,然后再执行
git checkout -- text3.html,即可恢复。
5、如果没有想恢复,则继续执行git commit -m '描述名,例如:delete text3.html'。现在,文件就从版本库中被删除了(此时无法恢复)
情景二: 当在命令行中执行git rm text3.html来删除文件时
1、git status
2、此时如果想恢复text3.html,可以执行命令git reset HEAD text3.html,然后再执行git checkout -- text3.html,即可恢复。
3、如果没有想恢复,则继续执行git commit -m '描述名,例如:delete text3.html'。现在,文件就从版本库中被删除了(此时无法恢复)
注意:以上text3.html是已经添加commit到版本库了的,从来没有被添加到版本库就被删除的文件,是无法恢复的!
git分支
1、在分支上修改文件时,不能立即checkout切换到另外的分支,需要将修改的文件git stash暂存起来,然后才能正常切换。
2、回到分支上时,将上次暂存的文件拉回工作区,使用git stash list查看暂存的文件,然后使用git stash apply stash@{0}恢复原来的状态,{X}代表文件的下标,从0开始。
3、使用git stash pop stash@{0} //代表拉回原来状态,并且在暂存起来的地方删除它
4、git stash drop stash@{0} //在暂存起来的地方删除它