git教程 -核心理论

「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

文件操作

image.png

1.clone

# 将项目克隆到本地,并直接连接远程仓库
git clone 网址
​
# 将项目的指定分支克隆
git clone -b branch 网址
​
复制代码

1.创建仓库后查看仓库文件信息

# 查看指定文件状态
$ git status [filename]
​
#查看所有文件状态
$ git status
复制代码

发现都是红的,都没有被放进暂存区

image.png

2.将目录下所有文件放入暂存区

$ git add .
# 再查看文件情况
$ git status
复制代码

绿色代表在暂存区,但是还没有被提交

image.png

3.提交暂存区的文件到本地仓库

#注意,commit -m一定要加上信息,只写git commit 会跳出一个蓝窗,提示你写信息
# 这时候ins插入,写完信息之后esc推出,再:wq就行了
​
$ git commit -m  #后面跟的是提交信息
复制代码

image.png

#这时候再查看文件信息
$ git status
复制代码

发现绿色的已经提交了,所以不见了(红色是由于我现在一直在编写文档,不停的修改)

image.png

4.连接远程仓库

#连接远程仓库
$ git remote add github https://github.com/18258026861/javaNote.git
#删除远程仓库
$ git remote rm origin
#查看连接的远程仓库
# 如果连接不上可以克隆远程仓库(根目录需要是需要空文件)一个然后文件复制进去再上传
$ git remote -v
复制代码

image.png

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 
复制代码

image.png

6.撤销修改

修改文件之后,将文件状态返回到最近一次add或commit的状态

$ git checkout -- filename
$ git checkout -- git.md
复制代码

7.删除

//删除磁盘中的文件
$ rm filename
$ rm 
​
//删除git工作区中的文件
$ git rm filename
$ git rm delete.md
复制代码

1.误操作,撤销删除

image.png

2.确定删除工作区中的文件

image.png

8.回退版本

查看log显示提交历史

$ git log
复制代码

image.png

选择回退的版本,当前提交的版本是HEAD,即de

如果向回退到上一个版本,就是update版本,就选择HEAD^

如果会对到上上个版本,就是inti版本,就选择HEAD^^,以此类推

我选择回到io版本,使用git reset命令

$ git reset --hard HEAD^
复制代码

这时再打开文件,就回到指定回退版本,而且在状态中无法找到未来版本的任何信息,如何重新回到未来版本

当前命令窗没有关掉,还可以找到未来版本的commit id

$ git reset --hard fc43
复制代码

image.png

猜你喜欢

转载自juejin.im/post/7031469694972330020