`
hujinpeng2005
  • 浏览: 4316 次
文章分类
社区版块
存档分类
最新评论

git基础命令和部分讲解

git 
阅读更多
一、git中一些基本概念

    1.工作区   当前直接操作的内容

        2.暂存区   临时存放改变的内容

        3.版本库   仓库中保存的内容

    

二、git存储变化

     1.git add file

        暂存区目录树更新

        修改或者增加的文件内容会写到对象库中的对象中

     2.git commit -m "这里可以填写提交的注释"

        暂存区目录树写到版本库中

     3.工作区和暂存区比较

        git diff file

     4.暂存区和HEAD比较

        git diff --cached file

     5.工作区和HEAD比较

        git diff HEAD



三、文件提交到本地

    1.git status

        查看文件修改情况

    2.git add  [filename]

        添加已修改的文件名

    3.git commit -m "reason for commit"

        将已加入的文件进行提交 并附上提交说明



四、文件push到远程仓库

     1.git push origin master

        把本地commit同步到远程仓库master分支,也可以提交到其他分支



五、git相关命令

     1.git grep  hello

         在搜索所有工作区文件包含hello的内容

     2.git clone url   localName   

          克隆一份拷贝到本地

      3.git log --stat

        git log 能够查看所有提交的日志。 加上--stat表示显示每次提交文件变更统计

     4.git diff filePath

        对比修改的内容

     5.git stash

        将工作区和暂存区的改动全部封存起来

     6.git branch

        查看所有分支,带星号的是当前所在分支

     7.git branch oneself

         创建分支名为"oneself"的分支

     8.git checkout oneself

         切换到名为oneself的分支进行工作

         git只有在根目录存在.git目录,这是工作区对应的版本库

     9.git init test

        初始化版本库test,一般不需要

    10.git init demo --bare

         创建一个裸仓库,裸仓库的意思就是仓库不保留工作区的内容。只有设置这个才能让别人push代码。为什么要裸仓库才能被push,

         原意很简单,假设仓库有很多分支,每个分支的工作区可能不一样,这样以那个分支作为工作区呢?

         工作区对于不是用来开发的共享仓库有什么意义呢?所以作为集中的共享仓库是没有工作区的

     11.把当前分支中未提交的修改移动到其他分支

           uatshiyj@APACICCC5084 $ git stash      

           uatshiyj@APACICCC5084 $ git checkout branch2     

           uatshiyj@APACICCC5084 $ git stash  pop

     12.git log

          查看提交历史

     13.git log --author="uatshiyj"

          查看某个用户的提交历史

     14.git log -p file

          显示某个文件的所有修改

      15.git branch -d <branch>

           删除分支



六、更新与发布

      1.git remote -v

         查看当前配置的远程端

      2.git remote show <remote>

         显示远程端的信息

      3.git remote add <remote> <url>

         添加新的远程端

      4.git push origin HEAD master

          将本地版本推送到远程端版本

      5.git push -u origin master

         -u 在远程和本地分支间建立联系,第一次建立即可



七、撤销(慎用)

      1.git reset --hard HEAD

          放弃工作目录下的所有修改

      2.git checkout HEAD <file>

         放弃某个文件的所有本地修改

      3.git revert <commit>

         重置一个提交(通过创建一个截然不同的新提交)

      4.git revert --hard <commit>

         将HEAD重置到指定的版本,并抛弃该版本之后的所有修改

      5.git reset --keep <commit>

         将HEAD重置到上一次提交的版本,并保留未提交的本地修改

      6.git checkout -- file

         可以丢弃工作区的修改,恢复之前的操作

      7.git rm file

          删除文件



八、合并(慎用)

      1.git merge <branch>

         命令用于合并指定分支到当前分支

      2.git log --graph

         命令可以看到分支合并图

      3.git log --graph --pretty=oneline --abbrev-commit

         查看历史分支,带参数看分支合并情况.

      4.git merge --no-ff -m "merge with no-ff" dev

         通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
         如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息.

         因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

         合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,

         而fast forward合并就看不出来曾经做过合并。



九、BUG分支

     软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

     并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?

幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作,请看下列命令(修复bug的方式不叙述了):

      1.git stash

         如果需要bug修复时可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

      2.git stash list

          查看之前“储藏”起来的工作现场

      3.git stash pop

     恢复工作现场,恢复的同时把stash内容也删了



十、Feature分支

       软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个

新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。

      1.git checkout -b feature-oneself

        创建一个feature分支并切换到该分支

      2.git branch -D <name>

     如果要丢弃一个没有被合并过的分支,可以通过此命令进行强行删除。



十一、这里讲一下多人协作模式:

       1.首先,可以试图用git push origin branch-name推送自己的修改;
       2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
       3.如果合并有冲突,则解决冲突,并在本地提交;
       4.没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
       如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。这就是多人协作的工作模式,一旦熟悉了,就非常简单。
分享到:
评论

相关推荐

    git概述+常用命令解说

    Git 的基本命令包括:Git init、Git add、Git rm、Git commit 等。Git init 用于创建一个空的 Git 库,而 Git add 将当前工作目录中更改或者新增的文件加入到 Git 的索引中。Git rm 用于从当前的工作目录中和索引中...

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

    - Pro Git书籍:`https://git-scm.com/book/en/v2`,深入讲解Git的使用和原理。 6. Git的使用场景: - 开源项目:如Linux、Android、jQuery、Ruby、PHP、vue.js等项目都使用Git作为主要的版本控制工具。 - 团队...

    git讲解与总结

    无论是配置管理、版本控制的基础知识,还是分支管理、回滚操作和远程仓库的实践,本手册都力求详细讲解,帮助读者有效掌握Git的使用。通过遵循文档中的规范和建议,可以提高代码版本控制的质量,降低安全风险,并...

    git命令及基础概念详解

    除了上述提到的基本命令外,Git 还提供了许多其他命令,用于更高级的功能,比如: - **`git branch`**:用于列出、创建或删除分支; - **`git checkout`**:用于切换分支,或者从提交中恢复文件; - **`git merge`**...

    progit.pdf--git学习教程

    接着,“Git基础”部分详细讲解了如何开始使用Git,包括如何获取Git仓库、记录更新、查看提交历史、撤销操作、使用远程仓库、打标签和创建Git别名等基础知识。 “Git分支”章节深入讲解了分支的概念,分支的新建与...

    Git命令大全1

    本文将详细讲解Git的一些基本命令,帮助初学者掌握Git的基础操作。 ### 初始化配置 在开始使用Git之前,你需要进行初始化配置,设置用户名和邮箱,这是Git识别你的身份的关键: ```bash $ git config --global ...

    crossin-Git基础系列

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和...通过阅读提供的文档(crossin-Git基础系列-12.docx和crossin-Git基础系列-12.txt),你可以更全面地掌握Git的基本操作和实践技巧,提升日常开发效率。

    git基础(git服务器搭建+git教程+git廖雪峰)

    ### Git基础概念 1. **仓库(Repository)**:存储项目所有版本信息的地方,每个Git仓库都有一个HEAD指针指向当前分支。 2. **工作目录(Working Directory)**:用户实际编辑代码的地方,包含了项目的原始文件和....

    小甲鱼讲解git视频教程(第4节/共9节)

    在小甲鱼的教程中,通过生动的比喻和实例,这些复杂的概念和操作会被讲解得通俗易懂,让初学者也能快速理解和掌握Git的基础使用。通过学习这一系列教程,你不仅可以了解Git的基础知识,还能逐步建立起对Git的实际...

    小甲鱼讲解git视频教程(第5节/共9节)

    5. **版本对比**:重点讲解`git diff`命令的使用,如`git diff HEAD~1`对比当前版本与前一个版本的区别,或者`git diff --cached`查看暂存区与最新提交的差异。 6. **分支管理**:Git的强大之处在于它的分支模型。...

    Git权威指南第二版

    这些命令是Git日常操作的核心,通过学习和实践,读者将能掌握代码版本的创建、提交、分支管理和合并等基本操作。 分支管理是Git的一大亮点。《Git权威指南》深入讨论了如何使用Git的分支模型进行敏捷开发,包括创建...

    git安装及使用

    本教程将详细讲解Git的安装和使用过程。 ### 一、Git安装 在Windows上,你可以通过以下步骤安装Git: 1. 访问Git官方网站(https://git-scm.com/download/win),下载最新版本的Git安装程序。 2. 运行安装程序,...

    pro git2中文版

    书中详细介绍了版本控制的概念,Git的历史背景,以及Git的基本命令和操作。此外,书籍还包含对服务器上Git的部署、分布式工作流程、GitHub的使用等高级话题的深入探讨,并讲述了Git与其他系统的集成、以及Git内部...

    git官方文档

    此外,还介绍了Git的基本命令和使用命令行的方式。 **Git工作流程**:文档详细解释了如何获取Git仓库、记录更改、查看提交历史、撤销操作、处理远程仓库(包括标签和别名的使用),以及分支的概念和管理。工作流程...

    小甲鱼讲解git视频教程(第2节/共9节)

    5. **Git的基本命令**:本节可能会讲解一些基本的Git命令,如`git status`用于查看当前工作状态,`git add`用于将更改添加到暂存区,`git commit`用于保存工作区的更改到版本库,以及`git log`用于查看提交历史。...

    progit.pdf

    ### Git基础 **Git的基本概念** 包括了工作目录、暂存区、提交和分支。Git通过哈希算法对文件进行追踪,保证了版本历史的完整性和一致性。 **安装Git** 是开始使用Git的第一步。用户可以通过包管理器或者官方网站...

    Git教程_git_

    1. Git基础 - **安装与配置**:首先,我们需要在本地安装Git,并进行基本的用户配置,包括用户名和邮箱设置。 - **工作目录与仓库**:理解Git的工作目录结构,包括工作区、暂存区和版本库的概念。 - **初始化仓库...

Global site tag (gtag.js) - Google Analytics