最常用命令
git pull
git add 文件
git commit -m ‘提交说明’
git push
Git创建仓库
- 创建仓库
命令:git init
该命令执行完后会在当前目录生成一个.git目录,该目录包含了资源的所有元数据,其他项目目录保持不变- svn会在每个子目录生成.svn目录,Git只在仓库的根目录生成.git目录
- 使用指定目录作为Git仓库
命令:git init newrepo
初始化后,会在newrepo目录下出现一个名为.git的目录,所有Git - 如果当前目录下游几个文件想要纳入版本控制,需要先用git add命令告诉git开始对这些恩建进行跟踪,然后提交
- 命令
git add *.c
git add README
git commit -m ‘初始化项目版本’ - 以上命令将目录下以.c结尾及REANME文件提交到仓库
- 命令
- git clone
我们使用git clone从现有Git仓库中拷贝项目(类似svn checkout)- 克隆仓库的命令格式为
git clone - 如果需要克隆到指定的目录,可以使用以下命令格式
git clone - 参数说明
repo:Git仓库
directory:本地目录 - 举例:克隆Ruby语言的Git代码仓库Grit
- 命令git clone git://github.com/schacon/grit.git
执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个.git的目录,用于保存下载下来的所有版本记录 - 如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字
命令git clone git://github.com/schacon/grit.git mygrit
- 命令git clone git://github.com/schacon/grit.git
- 克隆仓库的命令格式为
Git基本操作
- 获取与创建项目命令
git init #创建仓库
git clone #拷贝目录 - 基本快照
- Git的工作就是创建和保存你的项目的快照及与之后的快照进行对比
- git add 将文件添加到缓存区
后面跟文件名可提交单个文件, 多个文件空格隔开
后面跟. 可提交所有文件
后面跟*.py 可提交所有python文件 - git status 用于查看项目的当前状态
后加-s,用于简短输入 - git diff 用于查看执行git status的结果的详细信息
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat - git commit 将缓存区内容添加到仓库中
- 后加-m命令可以直接添加信息
例如:git commit -m ‘第一次提交’
如果没有加-m,Git会尝试为你打开一个编辑器以填写提交信息 - 后加-a命令可以跳过提交缓存的流程
即省略掉了 git add命令 - 提交代码后,再执行git status 应该显示为最新一次提交后没有更改
- 后加-m命令可以直接添加信息
- git reset HEAD 用于取消已缓存的内容
相当于 git add 的撤销功能
简而言之,执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存。 - git rm 从Git中移除文件
从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示
所以需要运行git rm删除- 后面跟需要移除的文件
git rm - 如果删除之前修改过并且已经放到缓存区域的,需要加-f强制删除
git rm -f - 如果把文件从暂存区移除,但需要保留在当期目录中,及仅仅从跟踪清单中删除,使用–cached
git rm --cached - 可以递归删除,即如果后面跟的是一个目录作为参数,则会递归删除整个目录中的所有子目录和文件
git rm -r *
进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录
- 后面跟需要移除的文件
- git mv 移动或重命名一个文件、目录、软连接
git mv 原名称 新名称 - git push 从本地仓库提交到远程仓库
- git pull 把远程仓库的东西更新到本地仓库