Git记录-Git版本控制介绍

时间:2021-06-10 07:39:06

git config命令用于获取并设置存储库或全局选项。这些变量可以控制Git的外观和操作的各个方面。

如果在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:

$ git help <verb>
$ git <verb> --help
$ man git-<verb>
git help命令显示有关Git的帮助信息。
git help [-a|--all] [-g|--guide]
[-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]

例如,您想要看看有关 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>)…​]

$ git remote   origin

$ git remote add pb http://git.oschina.net/yiibai/sample.git

$ git remote -v origin http://git.oschina.net/yiibai/sample.git

git show命令用于显示各种类型的对象。

git describe命令显示离当前提交最近的标签。

git rebase命令在另一个分支基础之上重新应用,用于把一个分支的修改合并到当前分支。