美文网首页
我们平时使用的Git命令

我们平时使用的Git命令

作者: Bcome | 来源:发表于2018-01-20 02:10 被阅读15次

    就算你是使用客户端或者说是在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^:回退到上个版本,^的数量表示回退版本的数量

    refer to:

    Git bash常用命令
    廖雪峰Git教程
    Git常用命令

    相关文章

      网友评论

          本文标题:我们平时使用的Git命令

          本文链接:https://www.haomeiwen.com/subject/ihrzoxtx.html