- 基本命令
git version 查看git版本信息
ls -a 查看当前文件夹下所有文件
git config --list 查看git的配置信息
git log 查看提交信息
exit 直接退出窗口
- 文件操作命令
ls 列出当前目录中的所有文件
rm 删除一个文件
rm -r 删除一个文件夹
mkdir 新建一个文件夹
mv a.txt src 把文件a移动到src目录下
- 本地仓库管理
在当前目录初始化一个仓库: git init
查询当前目录下的文件状态: git status
工作区---》暂存区: git add .
暂存区---》版本库: git commit -m ‘xxx’ .
工作区---》版本库: git commit -am ‘...’
git commit --amend 取消上一次的提交,将暂存区的文件重新提交
git checkout --文件名 拉取暂存区的文件替换到工作区
git reset HEAD 文件名 拉取版本库最新版本的文件到暂存区
git diff 比较工作区与暂存区文件的差异
git diff staged 比较暂存区与版本库文件的差异
git diff 版本号1 版本号2 比较同一分支不同版本文件的差异
git diff 分支名 比较当前分支与目标分支文件的差异
- 远程仓库管理
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
git pull <远程地址> 将远程项目拉取到本地,再与本地项目合并
git clone <远程地址> 把远程的项目克隆到本地仓库
git push <远程地址> 将本地的某个分支推送到远程的某个分支
- git三层结构和四种文件状态:
-工作区 就是本地文件的地方,敲代码的地方,文件被修改后就在工作区
-暂存区 即本地文件与本地版本库一个过渡位置
-版本库 本地一个项目完成了就放在版本库
-远程仓库 比如GitHub
untracked 未被追踪(反正在工作区) //红色
modified 文件刚被修改(也在工作区) //红色
staged 文件在暂存区 //绿色
committed 文件在本地版本库中 //白色
-
git pull 与git clone的区别
- clone是将一个库复制到你的本地,是一个本地从无到有的过程。
pull是指同步一个在你本地有版本的库内容更新的部分到你的本地库 - clone前本地没有版本库,而pull前本地有一个同类型的版本库。
- clone出来的本地项目与远程仓库只是内容相同,其他没有任何关系。pull过来后本地版本库与远程仓库处于一个分支。
- 从远程clone过来的项目不能直接push到原来的远程仓库。而pull过来的项目可以直接push。
- clone是将一个库复制到你的本地,是一个本地从无到有的过程。
-
分支的理解
- 新建分支拥有原来分支上的所有信息,在一个分支上后来新建并提交的文件在另一个分支上是没有的
- 如果在a分支上的工作区有未提交的文件,此时切换分支,原先分支的工作区会覆盖过来,切换分支应该保证工作区是干净的
-
分支管理命令
git branch 查看分支
git banch 分支名 新建分支
git checkout 分支名 切换分支
git branch -d 分支名 删除分支
git branch -m old new 更名分支
git merge 分支名 合并当前分支与目标分支的文件