zoukankan      html  css  js  c++  java
  • git常用操作命令1

    1. 本地库初始化操作

      命令: git init

      效果:

        Initialized empty Git repository in E:/ws/git/ws/.git/

        会在当前目录(E:/ws/git/ws)下面创建一个.git目录。

        .git目录下面有以下内容:

        

      注意: .git目录下面的内容不要乱改,不然git就不能使用。

    2. 设置签名

      形式:用户名,和 Email地址,用于标识开发人员的身份。

      注意:这个用户名与远程代码托管中心的用户名和密码没有任何关系。

      签名:可以分为项目级别(仓库级别)或 系统级别。  优先级: 项目级别 > 系统用户级别

      命令: 

        项目级别:

          git config  user.name 用户名   

          git config user.email 邮箱   

        系统用户级别:

          git config  --global user.name 用户名   

          git config  --global user.email 邮箱   

      项目级目的信息保存位置: .git/config

      系统用户级别信息保存位置: ~/.gitconfig

    3. git命令

      git status # 查看状态

        

          master分区, 没有可以提交的东西(创建/拷贝文件 并且 使用 git add 去追踪)

        <1> 创建一个文件 good.txt

          vim good.txt

        <2> git status

          

           未追踪的文件 good.txt  (使用 git add 提交)

          

      git add filename # 将filename 提交到 暂存区

        git add good.txt # 将good.txt 提交到 暂存区

        

         

        <1> 再使用git status查看状态

          

           使用git rm -- cached 命令 删除 暂存区的文件,从而使文件变成 unstage状态 

        <2> 删除暂存区文件

          

           good.txt 文件又报红色了,变成了untracked未追踪状态。

          

          工作区的文件还是存在的。

       git commit  filename -m 'commit message '  # 从暂存区提交到本地库 

        

         

         工作区clean了,也就是从没有未提交的文件。

        <1> 修改good.txt文件内容,然后git status

         

         <2> 提交 

          git add good.txt 

          git commit good.txt -m 'second commit'

    4. 查看历史版本

      (1) 第1种方式 git log   

        最完整的形式, 多屏示时,空格向下翻页,B向上翻页 , Q退出

        

       (2) 第2种方式 git log --pretty =  oneline

        

       (3) 第3种方式 git log --oneline

        

       

       (4) 第4种方式 git reflog

        

    5. 前进/后退

      通过指针来控制 ,指针的名称就是HEAD 

      

       git有3种方式控制指针的前进后退:

        <1> 基于索引值来操作【最好吧】

          操作示例: 

          先看一下当前版本good.txt的内容

          

          再看一下版本历史

          

           假设我们要后退到2f7faba版本,便可使用以下命令:

          git reset --hard 2f7faba

           

           当前版本指针是2f7faba, 第3次commit.

          最后查看一下good.txt的内容:

          

           达到我们想要的目的。

          再看一下git操作日志

          git reflog

          

           可以看到HEAD指针是2f7faba,如果要前进到9b0aa78版本,还是使用git reset --hard 命令

           

           完美!!!

        <2> 基于^符号【只能后退,不能前进】

          

            当前指针是9b0aa78, 使用git reset --hard HEAD^ 命令之后,后退一步,应该就是2f7faba

          

             确实后退到了2f7faba版本, 查看文件内容也是

          

           注意: 

            git reset --hard HEAD^   # 从当前版本后通一步

               git reset --hard HEAD^^   # 从当前版本后通两步

            git reset --hard HEAD^^^   # 从当前版本后通三步

        <3> 基于~操作

            使用git reset --hard HEAD^ 后退有点尴尬,如果是后退10步,就得写10个^,所以可以使用如下命令来代替:

            git reset --hard HEAD~10  #从当前版本后通10步。

      reset命令比较:

        (1) git reset --soft 

           仅在本地库移动HEAD指针

        (2) git reset --mixed  

           本地库移动HEAD指针; 重置暂存区

        (3) git reset --hard 

           本地库移动HEAD指针; 重置暂存区;重置工作区

      注意: 通过git reset --hard 版本号  可以找回删除到的文件, 但是也有个前提,那就是文件已经提交到了本地库

    6. 比较文件

      命令: git diff

      (1)  git diff [文件名]   # 将工作区中的文件与暂存区进行比较

      (2)git diff [本地库中的历史版本] [文件名]  # 将工作区文件与本地库历史记录进行比较

      (3) git diff   # 不带文件名,表示比较多个文件

    7. 分支

      在版本控制过程中,使用多条线进行控制

      分支操作:

        (1) 查看所有分支: git branch -v

          

         (2) 创建分支

          git branch 分支名称 

          

        (3)切换分支

          git checkout 分支名称

          

       (4)合并分支

          fix分支a.txt文件内容如下:

          

           master分支a.txt文件内容如下:

          

          现在欲将fix分支a.txt 合并到 master分支中去,操作如下:

          《1》 先切换到master分支  (注意: 要合并到哪个分支就切换到那个分支去操作)

          《2》 执行merge命令

              git merge 分支名称

              

         (5) 分支合并时冲突解决

          

           现在master分支与fix分支完全相同,我们修改fix分支a.txt内容,同时也修改master分支中a.txt的内容,并且修改的内容还不相同,此时,在执行merge操作时,就会产生冲突。

         修改之后的内容:

          

           

           本次我们将master分支合并到fix分支。

          

           注意看分支状态(fix|merging)----> 处于合并状态 

          查看合并的文件a.txt, 内容如下:

          

          这就需要我们手动去合并了。。。。。。。。。。。。。

          如何做,就是手动去编写文件a.txt了。。。。我将文件内容改成如下所示:

          

           然后,git status查看一下状态 

          

            标记解决: git add [filename]

          

           最后git commit提交即可,注意不能带文件名

          

      

          

  • 相关阅读:
    JavaWeb学习总结(十三)——使用Session防止表单重复提交
    JavaWeb学习总结(十二)——Session
    eclipse中复制servlet导致tomcat启动不了的问题
    javaweb学习总结(十一)——使用Cookie进行会话管理
    EL表达式
    request.getParameter() 和request.getAttribute() 区别
    javaweb学习总结(十)——HttpServletRequest对象(一)
    javaweb学习总结(九)—— 通过Servlet生成验证码图片
    javaweb学习总结(八)——HttpServletResponse对象(二)
    javaweb学习总结(七)——HttpServletResponse对象(一)
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/11575238.html
Copyright © 2011-2022 走看看