git config
命令用于获取并设置存储库或全局选项。这些变量可以控制Git的外观和操作的各个方面。
如果在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
例如,您想要看看有关 git config
如何使用,那么可以使用以下命令 -
$ git help config
git init
命令创建一个空的Git仓库或重新初始化一个现有仓库。
$ cd /path/to/my/codebase
$ git init #(1)
$ git add . #(2)
$ git commit . -m "a commit message" #(3)
(1). 创建一个/path/to/my/codebase/.git
目录。
(2). 将所有现有文件添加到索引。
(3). 将原始状态记录为历史的第一个提交。
git add
命令将文件内容添加到索引(将修改添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。
$ git add documentation/*.txt
$ git add git-*.sh
$ git add . # 将所有修改添加到暂存区
$ git add * # Ant风格添加修改
$ git add *Controller # 将以Controller结尾的文件的所有修改添加到暂存区
$ git add Hello* # 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
$ git add Hello? # 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的
git clone
命令将存储库克隆到新目录中。
$ git clone http://github.com/jquery/jquery.git
git status
命令用于显示工作目录和暂存区的状态。
git diff
命令用于显示提交和工作树等之间的更改。
git commit
命令用于将更改记录(提交)到存储库。将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中。
git reset
命令用于将当前HEAD
复位到指定状态。一般用于撤消之前的一些操作(如:git add
,git commit
等)。
git rm
命令用于从工作区和索引中删除文件。
git mv
命令用于移动或重命名文件,目录或符号链接。
git branch
命令用于列出,创建或删除分支。
git checkout
命令用于切换分支或恢复工作树文件。git checkout
是git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区。
git merge
命令用于将两个或两个以上的开发历史加入(合并)一起
git log
命令用于显示提交日志信息。
git stash
命令用于将更改储藏在脏工作目录中。
git tag
命令用于创建,列出,删除或验证使用GPG签名的标签对象。同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。
git fetch
命令用于从另一个存储库下载对象和引用。
git pull
命令用于从另一个存储库或本地分支获取并集成(整合)。git pull
命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,它的完整格式稍稍有点复杂。
git push
命令用于将本地分支的更新,推送到远程主机。它的格式与git pull
命令相似。
$ git push <远程主机名> <本地分支名>:<远程分支名>
git remote
命令管理一组跟踪的存储库。
参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支等等。
使用语法
git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
git remote set-branches [--add] <name> <branch>…
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote [-v | --verbose] show [-n] <name>…
git remote prune [-n | --dry-run] <name>…
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]