当前位置:   article > 正文

github入门指南_1900 githua

1900 githua

1、Git结构

2、本地库和远程库 

2.1 团队内部协作

2.2 跨团队协作

 

3、Git命令行操作 

3.1 本地库初始化

命令:git init

 

ps:.git目录存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。

3.2 设置签名

形式:用户名、email地址

作用:区分不同开发人员的身份

辨析:这里设置的签名和登录远程库的账号密码没有任何关系

命令:

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

    • git config user.name tom_pro

    • git config user.email goodMorning_pro@atguigu.com

    • 信息保存位置:当前目录下.git目录中的config文件,即./.git/config文件

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

    • git config --global user.name tom_glb

    • git config --global user.email goodMorning_glb@atguigu.com

    • 信息保存位置:C:\Users\久莘(当前用户目录)中的.gitconfig文件

  • 级别优先级

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

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

    • 两者都没有不允许

3.3 基本操作

3.3.1 查看状态

命令:git status,查看工作区、暂存区状态

 

3.3.2 添加到暂存区

  • 命令:git add filename,将工作区的“新建/修改”添加到暂存区

 

  • 命令:git rm --cached,从暂存区中移除

 

3.3.3 提交到本地库

命令:git commit -m "commit message" filename,将暂存区的内容提交到本地库

 

 

 

3.3.4 修改文件

  • 修改MyRPC目录中的pom.xml文件,使用git status查看状态

 

  • 使用git add命令添加到暂存区

 

  • 使用git commit命令提交到本地库,可以使用git commit -m "My Modified Version" pom.xml直接提交,不用再进入vim编辑器

 

3.3.5 查看历史提交版本

  • 命令:git log,HEAD指针指向当前最新版本

  • 命令:git log --pretty=oneline,每条日志显示一行

 

  • 命令:git log --oneline

 

  • 命令:git reflog

 

HEAD@{移动到当前版本需要多少步}

3.3.6 前进后退

对HEAD指针进行操作

  • 基于索引值操作【推荐】

    命令:git reset --hard 局部索引值

 

使用cat pom.xml查看pom.xml文件内容,内容如下图,可以看到最后插入的一行注释不见了!

  • 基于^符号,只能往后退

    命令:git reset --hard HEAD^(一个^符号代表往后退一步,若要退n步,则HEAD后跟n个^符号)

git log --oneline命令只显示当前版本之前的命令,当前版本之后的版本无法显示

  • 基于~符号,只能后退

    命令:git reset --hard HEAD~n(向后退n步)

reset命令的三个参数对比:

  • --soft参数

    • 仅在本地库移动HEAD指针

  • --mixed参数

    • 在本地库移动HEAD指针

    • 重置暂存区

  • --hard参数

    • 在本地库移动HEAD指针

    • 重置暂存区

    • 重置工作区

3.3.7 删除文件后找回

思想:回到这个文件还在的版本

步骤:

1、往本地库提交文件:

  • vim aaa.txt,在工作区新建文件aaa.txt

  • git add aaa.txt,将aaa.txt添加到暂存区

  • git commit -m "new file aaa.txt",将aaa.txt提交到本地库

2、删除文件:

  • rm aaa.txt,在工作区将aaa.txt删除

  • git add aaa.txt,添加到暂存区

  • git commit -m "delete aaa.txt" aaa.txt,提交大本地库

3、恢复文件:

  • git reflog,查询提交历史

  • git reset --hard b763b68,后退到没有删除的那一版,如下图

  • ll,查看工作区文件,发现aaa.txt已恢复

总结:

  • 删除操作已经提交到本地库(即上面流程),指针位置指向历史记录,便可恢复文件

  • 删除操作尚未提交到本地库(即删除文件时,没有进行git commit -m "delete aaa.txt" aaa.txt这一步),指针位置使用HEAD即可

3.3.8 比较文件

  • 使用vim aaa.txt对aaa.txt的内容进行修改

  • 使用git diff aaa.txt命令查看aaa.txt文件修改前后的区别,红色表示修改前的,绿色表示修改后的,该命令是和暂存区的aaa.txt文件进行比较

使用git add aaa.txt命令将aaa.txt文件添加到暂存区,再使用git diff aaa.txt命令,会发现,没有区别!

  • 使用git diff HEAD aaa.txt命令,查看和本地库中aaa.txt文件的区别,HEAD是指针,可换成其他版本的索引

  • git diff HEAD命令,不指定文件名,比较工作区中所有的文件

3.4 分支管理

3.4.1 什么是分支

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

3.4.2 分支的好处

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

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

3.4.3 分支操作

1、查看所有分支

命令:git branch -v

 

2、创建分支

命令:git branch 分支名

创建hot_fix分支,当前分支依然是master

3、分支切换

命令:git checkout 分支名

4、分支合并

  • 首先在hot_fix分支上修改aaa.txt文件,并提交到本地库,如下图所示

  • 此时,master分支并没有变,要想master分支的文件也改变,需要合并hot_fix分支到master

    • 第一步,git checkout master切换到master分支

    • 第二步,git merge hot_fix合并hot_fix分支

       

3.4.4 解决合并分支后的冲突

冲突原因:两个分支恰好修改同一个文件的同一位置

以修改aaa.txt文件为例,aaa.txt的内容如下:

 

  • master分支修改aaa.txt文件,修改后的文件内容如下图。并把修改后的aaa.txt提交到本地库

 

  • 切换到hot_fix分支,作同样位置的修改,修改后的文件内容如下图所示。并提交到本地库。

  • 将master分支合并到hot_fix分支,产生冲突

  • 使用cat aaa.txt命令查看aaa.txt文件内容

会发现:位置1不再仅显示hot_fix分支;位置2是当前分支hot_fix的修改内容,位置3是master分支的修改内容,需要人为选择使用哪个分支

  • 解决冲突

    • 人为操作aaa.txt文件,即使用vim aaa.txt对文件冲突进行修改

使用git add,git commit命令提交到本地库,注意此时git commit不加文件名

 

4、git与github交互

4.1 创建远程库

在github上创建仓库

4.2 在本地创建远程库地址别名

git remote add origin ***.git,表示给***.git地址取得别名是origin

git remote -v,查看当前所有远程地址别名

4.3 推送

git push origin master,将本地的 master 分支推送到 origin 主机的 master 分支。

4.4 克隆

git clone 远程库地址

效果:

  • 完整的把远程库下载到本地

  • 创建origin远程地址别名

  • 初始化本地库

4.5 拉取

pull=fetch+merge

git pull 远程库别名 远程分支名

git fetch 远程库地址别名 远程分支名

git merge 远程库地址别名/远程分支名

4.6 协同开发时冲突的解决

  • 要点

    • 如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取。

    • 拉取下来后如果进入冲突状态,则按照“分支解决冲突”操作解决即可。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/1009511
推荐阅读
相关标签
  

闽ICP备14008679号