Git笔记

.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡 乱修改。
本地库初始化
git init 在当前目录下生成.git文件
Git笔记 - 图1
设置命令
git config user.name wuyunzhi_pro
git config user.email hangOn_pro@zz

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

设置命令
git config —global user.name tom_glb
git config —global goodMorning@atguigu.com
信息保存位置:~/.gitconfig 文件
查看签名命令 cat ~/.gitconfig

git status
查看工作区、暂存区状态

添加到缓存区

git add [file name]
将工作区的“新建/修改”添加到暂存区

提交到本地库

git commit -m “commit message” [file name]
将暂存区的内容提交到本地库

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

分支的好处

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任
    何影响。失败的分支删除重新开始即可

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独
分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时
候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是
一个单独的副本。(分支底层其实也是指针的引用)


  • 分支操作

  • 创建分支
    git branch [分支名]

  • 查看分支
    git branch -v
  • 切换分支
    git checkout [分支名]
  • 删除分支
    git branch -d [分支名]
  • 合并分支

冲突
被修改的分支和用于合并的分支修改了同一个地方,就会出现冲突,此时自动合并不行,需要手动合并。
分支冲突的表现: 冲突产生的表现:后面状态为 MERGING
冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替
我们决定使用哪一个。必须人为决定新代码内容。
4.3.7 解决冲突
1)编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

Git笔记 - 图2
Git笔记 - 图3

解决分支冲突

  1. 编辑文件,删除特殊符号
  2. 把文件修改到满意的程度,保存退出
  3. git add [文件名]
  4. git commit -m “日志信息” 此时 commit 一定不能带具体文件名

日志信息,比如“我的第一次提交”

创建远程库地址别名

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

推送

git push [别名] [分支名]

克隆

克隆默认分支

克隆分支教程git clone [远程地址]
效果

  • 完整的把远程库下载到本地
  • 创建 origin 远程地址别名
  • 初始化本地库:有.git目录就是本地库初始化完成了

    克隆指定分支

    git clone -b [分支名] 网址.git
    Git笔记 - 图4

查看历史版本实操

Git笔记 - 图5
Git 切换版本,底层其实是移动的 HEAD 指针,具体原理如下图所示
Git笔记 - 图6

别名指的是地址别名

如何拉取远程仓库文件 ?

git push origin master
3.2 **初始化本地库
1)基本语法
git init
.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡 乱修改。
本地库初始化
git init 在当前目录下生成.git文件
$
git status**
No commits yet
Git笔记 - 图7
Git笔记 - 图8Git笔记 - 图9
Git笔记 - 图10
Git笔记 - 图11

如何推入远程仓库?

Git笔记 - 图12
Git笔记 - 图13

如何克隆远程仓库到本地?

Git笔记 - 图14

克隆做的事情 默认别名origin

Git笔记 - 图15

如何解决分支冲突?

Git笔记 - 图16
Git笔记 - 图17

Git常用命令?

Git学习笔记:fork和clone的区别,fetch与pull的区别

git push origin master

可以简单的概括为:

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

下面我们来详细了解一下git fetch 和git pull 的用法。
命令:git fetch
该命令执行后,不会将拉取的分支的最新代码合并到当前分支,仅仅是拉取/下载下来到本地仓库中。
首先,我们使用git branch查看本地拥有的分支,图中我们可以看到一共有master、xuzhangzheng1和xuzhangzheng2这3个分支。
如果拉取的分支和当前分支名字不一样,或自动创建一个与远程仓库名字一样的分支,从而不会造成冲突

fork:在github页面,点击fork按钮。将别人的仓库复制一份到自己的仓库。
clone:将github中的仓库克隆到自己本地电脑中