Git使用
Git基础
Git工作区、暂存区和版本库
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫 stage, 或 index。一般存放在 ".git目录下" 下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
-
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
Git 向仓库中添加文件流程, 如下图所示:
基础设置
git config --global user.name "VicLong" //设置用户名
git config --global user.email "vicsong865@gmail.com" //设置用户名邮箱
git config --list //查看设置
Git基本操作
把目录变成Git可以管理的仓库(git init)
git init
查看状态(git status)
git status //查看本地工作区、暂存区中文件的修改状态
git status -s //如果加上 -s 参数,可以获得简短的结果输出
查看改动(git diff)
git diff //尚未缓存的改动
git diff --cached //查看已缓存的改动
git diff HEAD //查看已缓存的与未缓存的所有改动
git diff --stat //显示摘要而非整个 diff
添加到暂存区(git add)
git add 将文件添加到暂存区
git add <file>
git add . //他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u //他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -A //是上面两个功能的合集, 也就是说包括删除的文件也会被提交(git add --all的缩写)
取消已缓存的内容(git reset HEAD)
HEAD指向的版本就是当前版本
git reset HEAD 命令用于取消已缓存的内容。
git reset HEAD -- <file>
提交到仓库(git commit)
git commit -m '提交描述'
git commit -am '提交描述' //跳过提交缓存区一步
删除文件 ( git rm )
git rm <file>
- 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f <file>
- 如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可
git rm --cached <file>
- 删错了,用版本库里的版本替换工作区的版本
git checkout -- <file>
- 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用:
git rm --cached <file>
- 递归删除
会递归删除整个目录中的所有子目录和文件
git rm -r <file>
移动/重命名(git mv)
git mv 命令用于移动或重命名一个文件、目录、软连接
- 重命名
git mv <file01> <file02>
Git 远程仓库
关联远程仓库
git remote add origin https://github.com/VicLong/coding_guide.git
克隆仓库(git clone)
git clone [url]