「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战」
文件操作
1.clone
# 将项目克隆到本地,并直接连接远程仓库
git clone 网址
# 将项目的指定分支克隆
git clone -b branch 网址
复制代码
1.创建仓库后查看仓库文件信息
# 查看指定文件状态
$ git status [filename]
#查看所有文件状态
$ git status
复制代码
发现都是红的,都没有被放进暂存区
2.将目录下所有文件放入暂存区
$ git add .
# 再查看文件情况
$ git status
复制代码
绿色代表在暂存区,但是还没有被提交
3.提交暂存区的文件到本地仓库
#注意,commit -m一定要加上信息,只写git commit 会跳出一个蓝窗,提示你写信息
# 这时候ins插入,写完信息之后esc推出,再:wq就行了
$ git commit -m #后面跟的是提交信息
复制代码
#这时候再查看文件信息
$ git status
复制代码
发现绿色的已经提交了,所以不见了(红色是由于我现在一直在编写文档,不停的修改)
4.连接远程仓库
#连接远程仓库
$ git remote add github https://github.com/18258026861/javaNote.git
#删除远程仓库
$ git remote rm origin
#查看连接的远程仓库
# 如果连接不上可以克隆远程仓库(根目录需要是需要空文件)一个然后文件复制进去再上传
$ git remote -v
复制代码
5.提交远程仓库
# origin是别名,有多个远程仓库可以选择别名上传
git push origin master #origin
#将本地study分支提交到远程origin的study分支
git push origin study:study
# push中出现问题refusing to merge unrelated histories
#这是因为远程仓库已经存在代码记录了,并且那部分代码没有和本地仓库进行关联,我们可以使用如下操作允许pull未关联的远程仓库旧代码:
git pull origin master --allow-unrelated-histories
成功pull之后,再push
#强制推送,不可乱用,会清空提交历史
git push -u origin master -f
复制代码
6.撤销修改
修改文件之后,将文件状态返回到最近一次add或commit的状态
$ git checkout -- filename
$ git checkout -- git.md
复制代码
7.删除
//删除磁盘中的文件
$ rm filename
$ rm
//删除git工作区中的文件
$ git rm filename
$ git rm delete.md
复制代码
1.误操作,撤销删除
2.确定删除工作区中的文件
8.回退版本
查看log显示提交历史
$ git log
复制代码
选择回退的版本,当前提交的版本是HEAD,即de
如果向回退到上一个版本,就是update版本,就选择HEAD^
如果会对到上上个版本,就是inti版本,就选择HEAD^^,以此类推
我选择回到io版本,使用git reset命令
$ git reset --hard HEAD^
复制代码
这时再打开文件,就回到指定回退版本,而且在状态中无法找到未来版本的任何信息,如何重新回到未来版本?
当前命令窗没有关掉,还可以找到未来版本的commit id
$ git reset --hard fc43
复制代码