【Git&Github总结】2. Git本地库

一、Git命令行操作

1. git init

【Git&Github总结】2. Git本地库
Caption

【注意】 .git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡 乱修改。.git是隐藏目录,需要ls -A的命令查看隐      藏文件。 ll命令查看不到。

2. 设置签名

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

git config user.name tom_pro
git config user.email [email protected]

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

【Git&Github总结】2. Git本地库
Caption

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

git config --global user.name tom_glb
git config --global [email protected]

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

【Git&Github总结】2. Git本地库
Caption

总结

级别优先级

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

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

  • 二者都没有不允许

签名的作用

  • 区分不同开发人员的身份。这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。

3. 基本操作

(1)状态查看 git status

         查看工作区、暂存区状态

(2)添加 git add filename

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

(3)提交 git commit -m "commit message" filename 

         将暂存区的内容提交到本地库

(4)查看历史记录

  •  git log
  •  git log --pretty=oneline   
  •  git log --oneline
  • git reflog

  上面的四种形式都客可以查看日志!只是日志的展示形式不同。

4. 前进后退

    git reflog

【Git&Github总结】2. Git本地库

  • 基于索引值操作[推荐]

           git reset --hard [局部索引值]

           git reset --hard a6ace91

  •  使用^符号:只能后退

          git reset --hard HEAD^

          注:一个^表示后退一步,n 个表示后退 n

  • 使用~符号:只能后退

         git reset --hard HEAD~n

         注:表示后退 n

 【提示】所谓的前进与后退也就是版本的切换!

5. 比较文件的差异

(1)git diff [文件名]

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

(2)git diff [本地库中历史版本] [文件名]

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

 (3)不带文件名比较多个文件

 

二、分支

1. 简介

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

【Git&Github总结】2. Git本地库
Caption

 

2. 优势

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

(2)各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

 

3.分支操作

  • 创建分支 git branch 分支名

  • 查看分支 git branch -v

  • 切换分支 git checkout 分支名

  • 合并分支

        (1)第一步:切换到接受修改的分支上 git checkout 被合并分支名

        (2)第二步:执行 merge 命令  git merge 有新内容分支名

  • 解决冲突

        (1)两个分支,每一个分支都对同一文件进行修改,然后合并两个分支就会出现冲突!

【Git&Github总结】2. Git本地库
Caption

        (2)冲突的解决

【Git&Github总结】2. Git本地库
Caption