就算你是使用客户端或者说是在IDE中提交版本,git的命令也是需要被你了解。
在git-bash中操作git,你会越来越喜欢上采用命令的方式去管理。
以下是我总结出平时中常用的git命令
Git
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro)
Git仓库可以分为本地仓库和远程仓库。
而且在仓库中又可以创建分支进行功能模块的开发,一个分支的操作不会影响另一个分支的管理。
Git的常用命令
Git 版本提交的相关命令
差异比较
查看本地修改与服务器的差异
git status
差异比较
差异比较可以在各个阶段都可以执行,查看git版本库的一个差异问题。并且
可以查看是哪个分支中工作
。由于以上是还没有提交过,master分支(主分支)并没有被创建
文件添加到暂存区
比较差异后,可以对差异的文件进行添加到暂存区。
两种添加方式:
- 部分添加,两个文件之间使用空格分开
git add a.txt b.txt
将差异文件添加到暂存区中
- 将所有差异文件都添加
git add .
提交到本地版本库
git commit –m "first add"
查看分支
git branch
新增分支
git branch know_20180120_branch
切换分支
切换分支为know_20180120_branch
git checkout know_20180120_branch
切换分支
如图,在切换分支后,
git status
会告诉你是哪个分支工作,并且告诉你工作空间的状况
新增并切换分支
以上两步操作可以直接合并为一个命令来操作。
git checkout -b knowGit_20180120_branch
新增分支后,你可以在不同的分支中进行操作,每个分支都不会影响另一个分支的管理
不同分支
获取内容
从远程Git仓库获取到最新的内容
git pull
合并分支
将分支合并到主分支中(先切换到主分支中)
git checkout master
git merge knowGit_20180120_branch
合并分支
同步远程仓库
将本地仓库的信息同步到远程仓库中
git push origin master
版本回退
Git的命令详解
了解工作区和暂缓区
图解git add
:将需要添加到差异内容添加到stage(暂缓区)中git commit
:将暂缓区的内容提交到本地分支中(图中的分支为master)工作区显示的内容为分支的内容。
git status
-
git status [<file>]
:了解(该文件)当前分支的状态
git init
git init
命令可以把一个工作目录编程版本管理的仓库。执行该命令后,会在目录中多了一个.git
文件,该文件保存了版本管理的信息,例如分支的相关信息
git clone
-
git clone <url>
:将远程仓库的项目拷贝到当前目录中
git branch
-
git branch
:查看本地分支 -
git branch -r
:查看远程分支 -
git branch <branch>
:新建分支branch -
git branch -d <branch>
:删除分支branch,branch是已合并的分支 -
git branch -D <branch>
:删除分支branch,branch是未合并的分支
git checkout
-
git checkout <branch>
:切换分支 -
git checkout -b <branch>
:新建并切换分支 -
git checkout -- <file>
:丢弃该文件在工作区的修改
git add
-
git add <file1> <$file2> <...$fileN>
:添加文件到暂存区中 -
git add .
:将所有修改的文件(除.gitignore罗列的文件)添加到暂存区中
git commit
-
git commit -m <txt>
:提交该版本的文本信息,方便查看的时候明白该版本的提交信息 -
git commit -am <txt>
:等同于git add .
和git commit -m <txt>
git merge
-
git merge <branch>
:将某个分支合并到当前分支
git push
-
git push [<remote_name>] [<branch>]
:将本地仓库内容upload到远程仓库中
git pull
-
git pull [<remote_name>] [<branch>]
:将远程仓库中的信息download到本地仓库中
git remote
-
git remote -v
:查看添加的远程仓库的信息 -
git remote add <remote_name> <url>
:添加远程仓库的地址 -
git remote rm <remote_name>
:删除远程仓库 -
git remote set-url --push <remote_name> <new_url>
:修改远程仓库的地址
git tag
标签一般用于一个版本的表示,例如v1、v1.0.0
-
git tag
:查看标签 -
git tag -r
:查看远程标签 -
git tag <tag>
:添加标签 -
git tag -d <tag>
:删除标签
git stash
将当前未提交的工作存入Git工作栈中
-
git stash list
:罗列工作栈的信息 -
git stash push
:加入工作栈中 -
git stash pop
:出栈某个工作区 -
git stash apply $stash
:应用某个工作区 -
git stash drop $stash
:删除某个工作区
git log
获取到仓库提交的版本历史
-
git log [--pretty=oneline] [--abbrev-commit]
:--pretty=oneline
可以将版本历史一行化输出,--abbrev-commit
为简写commitId,为commitId的前几位数字
版本历史
最左边的信息为版本id,可以用于回退的标识,HEAD为当前版本
git revert
git config
-
git config --list
:获取git的配置信息 -
git config --global user.name <username>
:配置用户的名称 -
git config --global user.email <email>
:配置用户的邮箱
git rebase
git rm
-
git rm -f <file>
:从工作区删除文件 -
git rm --cached <file>
:从暂存区中删除索引文件
git diff
-
git diff HEAD -- <file>
:查看某个文件工作区和版本库里面最新版本之间的差异 -
git diff [<file>]
:比较(该文件)工作区和暂存区的差异,即执行git add
命令前后文件修改的差异比较 -
git diff --cached [<file>]
:比较(该文件)暂存区和分支的差异,即比较git commit
命令前后文件修改的差异比较
git reflog
-
git reflog
:用于记录每次执行的操作日志
git reset
执行该命令前,可以通过git log
命令或者git reflog
命令来获取版本id
-
git reset --hard <commitId>
:回退到指定的版本,commitId可以为简写版本id -
git reset --hard HEAD^
:回退到上个版本,^
的数量表示回退版本的数量
网友评论