git入门(二)

 

Git的结构

 

 

Git的俩种使用方式

 团队协作的方式:本地仓库的开发方式,

 

 团队外部协作:

 Git的命令行操作

git命令与Linux命令很多一样

1.本地仓库初始化,使用cd 可以切换工作目录

命令:  git init  

  初始化仓库,生成.git文件

效果:

注意:.git目录下存放的是本地库相关的子目录和文件,不能删除和胡乱修改

 git签名:

项目级别/仓库级别:仅在当前本地库范围内有效

  git config user.name tom_pro

  git config user.email goodMorning_pro@qq.com

  信息保存位置:cat .git/config文件

系统用户级别:登录当前操作系统的用户范围

  git config --global user.name tom_glb

  git config --global goodMorning_pro@qq.com

信息保存位置:~/.gitconfig文件

级别优先级:

  就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名

  如果只有系统用户级别的签名,就以系统用户级别的签名为准

  二者都没有,不允许

添加,提交以及查看状态

将文件从工作区提交到暂存区

将文件从暂存区撤销

 将文件从暂存区提交到本地仓库

 基本操作

状态查看操作

  git status

  查看工作区暂存区的状态

添加操作

  git add [file name]

  将工作区的“新建、修改”添加到暂存区

提交操作

  git commit -m "commit message " 文件名

  将暂存区的文件提交到本地仓库

查看历史记录操作

    最完整  git  log

            

    多屏显示控制方式:

    空格向下翻页

    b 向上翻页

    q    退出

  简洁显示:git log --pretty=oneline

     

      git log --oneline

        

       git reflog  显示到某个版本需要移动到几步

      

版本前进后退

1.基于索引值操作(推荐)

git reset --hard  索引值

2.使用^符号:只能后退

向后退一步

向后退三步   

git reset --hard HEAD^^^

3.使用~符号

后退n步

git reset --hard HEAD~n

reset三个命令参数的对比

--soft参数

  仅仅在本地库移动HEAD指针

--mixed参数

  在本地库移动HEAD指针

  重置暂存区

--hard参数

  在本地库移动HEAD指针

  重置暂存区

  重置工作区

删除文件并找回 

回退到之前新建的版本

前提:删除前,文件存在时的状态提交到本地库

操作:git reset --hard[指针位置]

删除操作已经提交到本地库:指针位置指向历史记录

删除操作尚未提交到本地库:指针位置使用HEAD

比较文件差异

  git diff   [文件名]

    将工作区的文件和暂存区的进行比较

  git diff [本地库的历史版本]【文件名】

  将工作区的文件和本地库的历史记录比较

  不带文件名,比较多个文件   git diff HEAD

分支管理

  1.什么是分支?

    在版本控制过程中,使用多条线同时推进多个任务

  2.分支的好处

    同时并行推进多个功能开发,提高开发效率

    各个分支在开发过程中,互不影响

  3.分支的具体操作

    查看所有分支:

    

    创建新的分支

    git branch hot_fix

    

    切换分支

    

     合并分支

      第一步:切换到接受修改的分支上,(被合并,增加新内容)  git checkout  被合并的分支名

          

      第二步:接受修改 git merge 指定分支名

          

4.分支冲突

俩个人修改一个文件的同一位置,且修改内容不一样,发起冲突

hot_fix  和master同时修改一个文件后,hot_fix合并master请求

冲突的表现:

 解决方案:商讨,解决,人为修改

1.修改冲突文件,编辑文件,删除特殊符号,修改满意退出

2.提交到暂存区

3.提交到本地仓库,但是不能加文件名

git的基本原理

哈希:

  哈希是一系列加密算法,各种不同的哈希算法虽然加密强度不同,但是有以下共同点

  1.不管输入数据的数据量有多大,输入同一个哈希算法,得到加密结果长度固定

  2.哈希算法确定,输入数据确定,输出数据能保证不变

  3.哈希

  4.哈希算法不可逆

查看远程登录url

 给远程仓库url重命名

 推送到远程仓库分支

 弹出github登录页面

  

          

    

    

 

原文地址:https://www.cnblogs.com/ghwq/p/13137990.html