赞
踩
官网:Git - Downloadshttps://git-scm.com/downloads
因为官网地址下载速度比较慢 所以推荐使用国内镜像下载
淘宝镜像地址:
CNPM Binaries Mirrorhttp://npm.taobao.org/mirrors/git-for-windows/
点击以上操作直至安装成功
安装完成 查看菜单项有三项新增
Git GUI 图像化界面git,不适合初学者使用
Git CMD windows下的命令行
Git Bash Linux 和 unix下的命令行
卸载 开始菜单邮件点击
git 常用指令
$ git config --global user.name 名称
$ git config --global user.email 邮箱 此处邮箱git不做校验
查看是否设置用户名和邮箱设置好 可以通过查看c盘下的用户下的
注意: 这里git的账号和以后登录github的不是同一个
语法:git init
git ll 查看展示的文件
git ll -a Linux下查看隐藏的文件
语法:git status
vim hello.txt 编辑一个文本文件 输入i进入编辑
输入之后点击Esc提出编辑界面,然后点击yy复制,p黏贴
输入:w :q保存退出一下
cat hello.txt 查看文本内容
tail -n l hello.txt 查看末尾的最后一行
再次查看 git status 如下图
第一行是在master分支下
第二行 还没有添加
第三行hello.txt为红色说明有此文件 但还没有被追踪
怎么才可以被追踪呢,需要执行括号内的语句 也就是git add 命令 把文件添加到暂存区
添加到暂存区指令
git add hello.txt
再次 git status
第一行 在master分支下
第二行没有提交
第三行 此时发现文件颜色由红色变为绿色 表示git追踪到了文件,存在于暂存区。
可以通过指令git rm --cached hello.text 删除暂存区的文件 注意工作区的文件并没有删除
此时再次查看 git status
可以看到第三行文件名称颜色又变为红色 说明暂存区是不存在的 被上面的指令删除了 除非再次操作git add 文件 添加到暂存区
暂存区添加完成 那么就要提交本地库
语法:$ git commit -m "first c" hello.text
"first c" 是提交的版本 hello.text 提交的是文件
提交本地库之后再查看状态 git status可以看到 在master分支 没有什么可以提交的 工作树是干净的
使用git reflog命令查看在master分支提交的first c这个版本
1948727查看的是前七位的版本号
使用git log指令查看当前提交的具体详情信息 作者 日期 提交的版本 和指针指向的分支
19487273f1e39a78819e3848e62e2d2f83bfbdce 这个是完整的版本号
当我们使用vim hello.txt 修改第一行 添加数字222222时 然后esc :wq保存退出
再git status 查看状态,已修改 颜色为红色 表示没有被追踪或者指针没有指向
git add 添加文件 然后再次查看 git status状态 颜色由红色变为绿色 那么文件被添加到暂存区内
$ git commit -m "second c" hello.text 使用此命令提交到本地库
下面日志输出1行修改 1行新增 1行删除
原理就是先把修改之前的数据删除 然后再把修改之后的数据新增进来
利用 git reflog 查看版本信息 下图能看到两个版本信息 first c 和 second c
那么指针指向的是第二个版本
综上操作步骤,只要修改过之后就会出现不同的状态,然后添加暂存区,提交到本地库
先通过查看版本的指令 git reflog 或者git log 查看版本号
然后 git reset --hard 版本号 穿梭到指定的版本
下面就是版本穿梭到版本2 指定版本号就可以
穿梭之后再查看版本日志就可以看到指针指向 版本2
我们可以打开我们.git所在目录查看refs--master 打开之后看到文件内容是版本号
就是当前指针只想master分支 分支内记录的当前指向的版本号
那么版本只想的文件内容也会和版本做对应 以后内容就是 063572ba78a10b189a1a231cc5645bad51ca05c0 这个版本指向的内容
总结以上可以随意穿梭指定的版本号 那么内容也会做相应的变更对应的版本号,文本内容文件始终只有一个 但是版本可以有多个 只是指针对应的版本不同 对应的内容发生变更
版本控制,需要同时推进多个任务,那么我们就可以为每个任务创建多个不同的分支。分支就是从主线分支分离出来,互不干扰,开发完成之后再合并到主分支上,这样就可以达到并行开发的目的。
git branch -v
创建分支语法
下图创建了一个dev分支 然后git branch -v 查看分支的版本 可以看到dev分支
命令 git checkout 分支名称
创建分支之后,针对dev分支进行vim hello.txt,:wq保存退出
然后git add 添加到暂存区 git commit -m “dev版本号” 文件
语法:git merge dev
就是把指定的分支合并到当前分支上,上面的意思就是把dev 分支合并到当前所在的master上
这种情况是分支的正常合并
还有一种情况是代码冲突的合并
产生的情况,两个分支在同一个文件的同一个位置发生两种完全不同的修改,此时git无法帮我们确定使用哪个,那么必须由人为的决定新代码内容
首先我们现在master分支下修改hello.text,添加master test内容 git add 添加到暂存区
git commit -m “master test”
然后切换到dev分支添加内容最后一行 dev test 然后git add hello.text 再git commit -m “dev test” hello.txt
重新切换为master分支在主分支上合并dev分支
合并之后发现红色的框内,出现冲突两个分支 因为修改了同一个文件
我们能该看到 <<<<<<<和====== 是当前分支的代码 ====== 和>>>>>>>>之间是需要合并的分支代码的内容,就是冲突的内容 需要人工手动调整
那么我们 vim hello.text进入文件 查看文件内容 调整冲突部分 就是把更新后需要保留的留下来其他的多余的删除 esc :wq保存退出
保存退出后 那么再git add hello.txt
此处注意 在commit时 不能指定文件名 指定文件名会报错 因为不知道是哪个文件 如下图
正确的做法是把文件名去掉
下面就是合并成功的hello.txt文件
master分支切换到dev分支后 cat hello.txt 查看分支内容 和master不同
团队内部合作 看图说话
跨团队合作
创建远程仓库 github上创建
以下使用git创建远程仓库使用的指令
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。