git下载
地址:https://git-scm.com/
git 对于工作改变的内容先将工作区提交到暂存区,再将暂存区提交到版本库。
git命令
1.本地初始化git仓库
初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
$ git init
2.从现有线上仓库克隆
这会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。
$ git clone git://github.com/schacon/grit.git
如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git text
3.检查当前文件状态
要确定哪些文件当前处于什么状态
$ git status
4.添加新文件(提交到暂存状态)
将最新的文件变化提交到暂存区
提交单个文件
$ git add 文件
提交所有变更文件
$ git add .
5.提交更新
将暂存区文件提交到版本库。
$ git commit
上边命令会打开Linux的vim编辑器,记录提交注释。 加入 -m 可以直接添加注释
$ git commit -m '注释'
继续加入 -a 可以跳过暂存区(git add)
$ git commit -a -m '注释'
6.从远程仓库抓取数据
如果设置了某个分支用于跟踪某个远端仓库的分支,可以使用 git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支(如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下,分支名字默认为master)直接使用:
$ git pull
此命令会到远程仓库中拉取所有你本地仓库中还没有的数据。运行完成后,你就可以在本地访问该远程仓库中的所有分支,将其中某个分支合并到本地,或者只是取出某个分支
$ git fetch [remote-name]
7.推送数据到远程仓库
如果要把本地的 master 分支推送到 origin 服务器上
$ git push origin master
8.查看提交历史
git log 会按提交时间列出所有的更新,最近的更新排在最上面
$ git log
运行后进入Linux vim 编辑器,q推出。
-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
–stat,仅显示简要的增改行数统计
9.添加忽略文件
忽略的文件不受git版本控制
添加 .gitignore 文件,格式规范如下:
1所有空行或者以注释符号#开头的行都会被Git忽略。
2可以使用标准的glob 模式匹配。
3匹配模式最后跟反斜杠(/)说明要忽略的是目录。
4要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
10.修改最后一次提交(编辑注释)
此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明,但将要提交的文件和之前的一样。
$ git commit --amend
11.取消已经暂存的文件
撤销刚才提交到暂存区的文件
$ git reset HEAD 文件
12.取消对文件的修改
取消修改,回到之前的状态(也就是修改之前的版本)
$ git checkout -- 文件
13.查看已暂存和未暂存的更新
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容
$ git diff
14.移除文件
要从Git中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。
$ git rm 文件
15.移动文件
移动文件时,会添加新文件,移除老文件
$ git mv 老文件 新文件
16.查看当前远程仓库
要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库
$ git remote
-v 显示对应的克隆地址
17.查看远程仓库信息
查看某个远程仓库的详细信息,比如要看所克隆的 origin 仓库,可以运行:
$ git remote show origin
18.添加远程仓库
要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用
git remote add 重命名 地址
19.远程仓库的删除和重命名
重命名
$ git remote rename 旧名字 新名字
删除
$ git remote rm paul