Git使用大全

  1. 拉取资源
  • 在F盘新建一个目录叫gittest,打开git命令行窗口cd到新建的目录

  • 输入第一条命令初始化git环境
命令为:git init

  • 关联仓库
命令为:git remote add origin XXXX.git。关联完之后名称为origon。
  • 获取所有该地址下的分支到本地
命令为:git fetch origin
取到一个名字为master的分支

  • 获取master分支下内容
命令为:git pull origin master
git pull为拉取命令。origin为git地址关联的名称。master为分支名称。




  1. 提交资源
常用的有以下命令

git status
查看暂存区中文件状态。例如有哪些修改的、那些新增的等
git add 文件|目录
将需要提交的文件add到暂存区。 后面的参数可以是文件名也可以是目录名
git commit -m "描述"
增加本次提交的日志
git push origin master
将暂存区的内容提交到origin关联的远程仓库中master分支
  • git status查看。发现在当前目录下多了文件1.txt和目录2。这是刚才在硬盘上新增的内容。

  • git add增加文件到暂存区。可以看到1.txt编程绿色了。


  • git commit -m "新增1.txt" 提交暂存区。将刚才的修改提交到了本地master分支。
此时,如果我们用GUI工具查看,本地已经没有1.txt需要提交了。并且在本地master分支已经有了该文件
  • git push origin master提交到远程仓库

  • 接下来试试新增目录
git status 查看状态,确实需要提交2这个目录
git add 2 增加2目录及下面的子目录及文件
git commit -m "提交2目录"
git push origin master


  1. 删除文件
常用的命令如下

git status
查看暂存区中文件状态。例如有哪些修改的、那些新增的等
git ls-files --with-tree=HEAD
查看本地版本库中的文件列表
ll
查看工作区中的文件列表
git rm --cache 文件|目录
删除仓库中的,保留本地文件
git rm *|目录 -r
删除缓冲区所有文件。cd 到你要删除的目录下.当然 * 可以换成指定目录
如果参数为*,删除当前目录下所有文件
如果参数为目录名,删除对应目录下所有文件
  • 首先,执行git rm --cache 文件|目录。 看看变化。
任何地方都没有少文件,如果git status查看。会有红色的Untracked file 1.txt
  • 再使用git commit命令看看效果。git ls-files --with-tree=HEAD命令查看,发现少了1.txt文件
  • 使用git push看看变化
本地文件还在,远程已经删除了。此时再用git status查看。发现1.txt又可以提交了。
  • git rm 文件名
先重新提交1.txt到远程仓库。使用git rm 1.txt删除文件,此时会出现本地硬盘的1.txt被删除了。通过git status查看会看到1.txt被删除。
ll看不到文件,但git ls-files --with-tree=HEAD可以看到。其实和上面步骤一样,但唯一的区别就是本地文件没了。
commit之后git ls-files --with-tree=HEAD也将不会看到。
  • git rm *|目录 -r
执行git rm 2 -r
git status
git ls-files --with-tree=HEAD
ll
可以看到下图中结果。
git status提示删除了两个文件.
git ls-files --with-tree=HEAD还可以看多所有文件。知道git commit被执行。
ll看不到文件。(ll是查看本地文件的命令)


  1. 恢复删除的文件

如果删除的文件还未提交,想要恢复,可以用到一下命令。
文件名统统都可以改为【路径/..】,代表路径下所有文件
git restore staged 文件路径+名字[路径/..]
从缓存区恢复。
git restore 文件名[路径/..]
恢复本地文件
根据前面的删除步骤。用git status查看。删除了两个文件。此时本地文件已经消失,但git ls-files --with-tree=HEAD任然可以看到。

如果用git restore --staged 2/..可以看到绿色的deleted变成红色
此时,再使用git restore 2/..就可以恢复本地文件。ll也可以看到了。

  • 合并分支
将v2分支合并到master
切换到分支
git checkout master
合并分支
git merge v2