`

git命令使用总结

    博客分类:
  • git
 
阅读更多

      最近换了份工作,在新的公司里面,对于软件版本控制工具使用的是git,我之前的那家公司使用的是svn。

第一印象,感觉git比svn牛逼很多。现在我来比较下两个工具的区别,并简单介绍下git的命令。

 

一、区别

      1、git是分布式的,svn是集中式的。

git和svn都有一个集中存放代码的地方,他们的区别在于每个开发者每次修改都是直接跟中心库交互。但是git的话开发者的修改时跟本地的仓库(repository)交互,等到特定的时间点或者进度点才推送(push)到中心库。

 

      2、git把数据按元数据方式存储,但svn是按文件方式。

所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的 体积大小跟.svn比较,你会发现它们差距很大。

 

      3、git的分支概念优于svn

svn的分支概念就是新拷贝一份代码,这个办法非常原始,且耗时耗空间。git的分支是按一个快照的方式存储,创建分支快速且不耗空间。

     

      4、GIT的内容完整性要优于SVN

GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

 

二、git命令总结

 

     1、git status   查看当前仓库的状态

 

     2、git diff       查看区别

             git diff    比较工作目录树与暂存区的区别

             git diff --cached 比较暂存区和版本库的区别

             git diff HEAD 比较工作目录树(包括暂存区和未暂存)与版本库的区别

             git diff HEAD -- filename.txt   查看文件filename.txt文件的区别

 

      3、git add   把修改从工作目录树提交到暂存区

 

      4、git commit -m "message..."   把修改从暂存区提交到版本库

 

      5、git log   显示由近到远的提交日志

             git log -n  显示输出的条数,n表示条数

             git log --name-status 显示由近到远的提交日志,且日志中显示出每次提交修改的文件

             git log --stat  仅显示简要的增改行数统计

             git log --pretty=[oneline | format | short | full | fuller]

 

      6、git reset 

             git reset -- hard HEAD^     回退到上一个版本

             git reset --hard [commit]    自commit以来在working directory 中的任何改变都会被放弃 

             git reset --soft [commit]     自commit以来的所有改变都会显示在git status的changes to be commited中

 

      7、git checkout  检出

              git checkout -- file 撤销修改(就是让这个文件回到最近一次git commitgit add时的状态

              git checkout -b branch1 master 新建一个分支,并检出到新分支

              git checkout dev 切换到dev分支

 

      8、git push  推送到远程

              git push origin HEAD:refs/for/master  这是我公司的一个推送办法,再把修改推送到远程之前,要有个review的过程

 

       9、git clone  克隆一个到本地库

 

      10、git branch dev  创建分支dev

                git branch -d dev  删除分支dev

                git branch -m dev development 把dev分支重命名为development

 

      11、git merge  合并dev分支到当前分支

                git merge   直接合并[straight merge],将一条分支直接合并到另一条分支

                git merge --squash branch1  压合合并[squashed commits],将一条分支上的所有提交压合成一个提交

 

      12、git stash   工作做到一半,想切换到别的分支处理问题,保存本工作区的环境

                git stash list  查看保存的工作区环境

                git stash apply  恢复工作环境

                git stash drop 删除stash的内容

                git stash pop =git stash apply+git stash drop

 

       13、git rebase  变基,重新定义分支的版本库状态

                 git rebase test

                              1、先将test分支的代码checkout出来,作为工作目录

                               2、然后将master分支从test分支创建起的所有改变的补丁,依次打上,如果打补丁的过程没有问题,就解决冲突

                               3、如果打补丁的时候出现冲突,就解决冲突,可以后运行git rebase -continue

                               4、如果你不想处理冲突,要么放弃rebase过程(git rebase -abort),要么直接用test分支取代当前分支(git rebase -skip)

 

         14、git cherry-pick <commit-id> 将本地test分支上的一个commit合并到本地master分支上,就可以在master分支上执行该命令。

 

         15、git tag <tag-name> <节点> 打标签

 

         16、git blame

                   git blame test.file  git blame;命令时,会逐行显示文件,并在每一行的行首显示commit号,提交者,最早的提交日期

       

 

 

参考博客:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

分享到:
评论

相关推荐

    git常用命令总结git常用命令总结git常用命令总结git常用命令总结

    git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git...

    git常用命令总结.txt

    ### git常用命令总结 在日常开发工作中,Git作为版本控制系统被广泛使用,它能帮助团队高效地管理代码版本,提高协同工作的效率。本文将根据给定的文件信息,详细总结并解释Git中的常见命令及其用途。 #### 1. Git...

    git命令总结

    Git是目前世界上最先进的分布式版本控制系统。以上为git命令总结。

    git常用命令归纳总结

    git是linux系统管理源码常用工具,本资源归纳总结git常用命令使用。

    git操作命令总结

    ### git操作命令总结 #### 一、配置与初始化 **标题和描述中提及的知识点:** - **配置用户信息:** 使用 `git config --global user.name "zoujun"` 和 `git config --global user.email "zoujun@youku.com"` 来...

    git常用命令总结下载

    了解并熟练掌握这些Git命令,可以帮助开发者高效地管理代码,协同开发,避免版本冲突,追踪代码变更,确保项目稳定和团队协作的顺畅。在实际使用中,根据项目的具体需求,灵活运用这些命令,可以极大地提高工作效率...

    git常用命令总结,思维导图

    git常用命令总结 git命令思维导图

    git常用命令总结,持续更新最新常用的命令

    git常用命令总结

    Coding git 常用命令及总结

    理解这两种文件状态对于正确使用Git命令至关重要。 #### Git本地仓库基础操作 ##### 初始化新仓库 当你想要开始使用Git来管理现有项目的文件时,可以通过`git init`命令初始化一个新的仓库: ```shell git init ``...

    git命令总结文档

    Git常用操作命令: 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

    Git常用命令总结资源合集

    git常用命令总结 Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 ...

    git常用命令总结 word文档

    ### Git常用命令总结 #### 一、准备工作 **1.1 初始化仓库** - **命令**: `git init` - **说明**: 当你需要在一个新的项目中开始使用Git时,首先要做的就是在项目根目录下运行`git init`命令来创建一个新的Git...

    git常用命令总结(涵盖整个git流程介绍总结)

    git常用命令总结(涵盖整个git流程介绍总结)

    Git命令学习总结(思维导图的形式展示)

    在学习Git时总结的常用命令,内容包括git的三层结构、4种状态、git config配置命令、基本命令、git分支操作命令、远程仓库命令、git撤销命令等

    Git命令的总结

    在本文中,我们将深入探讨Git的一些关键命令,这些命令对于日常开发工作至关重要。 1. **添加文件到暂存区**: `git add filename` 这个命令将指定的文件`filename`添加到暂存区,意味着Git会开始跟踪该文件的更改...

    git常用命令总结 常用命令总结

    - 官方文档:`https://git-scm.com/docs`,提供详细的Git命令参考。 - Pro Git书籍:`https://git-scm.com/book/en/v2`,深入讲解Git的使用和原理。 6. Git的使用场景: - 开源项目:如Linux、Android、jQuery、...

    git常用命令总结,适合新手使用

    git常用命令总结,适合新手使用

    git常用命令

    常用git命令总结,常用git命令总结。 常用git命令总结。

Global site tag (gtag.js) - Google Analytics