ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

git (版本控制器)的使用

git (版本控制器)的使用 1. 软件安装查看 Git 安装版本命令git --versionLinux-centos输入git命令 ------- 查看系统是否安装安装git命令 -------sudo yum -y install gitLinux-ubuntu输入git命令 ------- 查看系统是否安装安装git命令---------sudo apt-get install git -yWindows国内镜像站 链接https://registry.npmmirror.com/binary.html?pathgit-for-windows/安装过程中一直点Next即可;2. Windows 下调用 Git bash第一种方法在win R输入命令:C:\Program Files\Git\bin\bash.exe --login默认装在 C 盘下的第二种方法在win R输入命令bash配置环境变量:在此电脑右键 → 属性 → 高级系统设置 → 高级 →环境变量在【系统变量】找到Path点编辑点击【新建】粘贴这一条C:\Program Files\Git\bin3. 安装 Git 后首先 设置 用户名称 和 e-mail 地址git config [–global] user.name “Your Name”git config [–global] user.email “emailexample.com”***把 Your Name 改成你的昵称把 emailexample.com 改成邮箱的格式只要格式正确即可其中--global是一个可选项。如果使用了该选项表示这台机器上所有的 Git 仓库都会使用这个 配置。查看 配置命令为:git config -l删除 配置命令为:git config [–global] --unset user.namegit config [–global] --unset user.email4. 常用的命令clear清屏命令创建一个 git 仓库git init创建一个文件touch 文件名.后缀修改文件:vim 文件名vim 操作步骤打开文件后按i进入编辑模式 (insert)可以修改文字修改完成按Esc退出编辑模式输入:wq回车 →保存并退出:q!回车 →不保存强制退出列出目录里面的文件、文件夹:lscat 文件名看电脑磁盘上文件内容git cat-file -p 哈希值看 git 仓库数据库里面存的历史版本tree xxx指向本次快照对应的tree 对象哈希本次提交目录结构parent上一次提交父提交merge 合并提交有两个 parent对应你刚才的分支合并图author代码是谁写的committer是谁执行提交操作(一)添加场景git add 用法添加 单个/ 多个文件git add file1 [file2]添加整个目录git add 目录名添加当前目录所有改动git add .(最常用)git commit 用法(暂存区 - 本地仓库)git commit -m “提交说明文字” (-m 选项绝对不能省略以及好好描述)查看历史提交记录命令git log/git log --prettyoneline简化信息显示从最近到最远的提交日志并且可以看到我们 commit 时的日志消息。这种数字是commit id查看仓库当前状态命令git status用来显示暂存区和工作区文件的差异命令git diff [file](二)版本回退回退版本命令git resetgit reset [--soft | --mixed | --hard] [HEAD]可以指定退回某一次提交的版本。“回退”本质是要将版本库中的内容进行回退HEAD 说明:(1) 可直接写成commit id表示指定退回的版本(2)HEAD 表示当前版本 ◦ HEAD^ 上一个版本 ◦ HEAD^^ 上上一个版本 ◦ 以此类推--soft版本库回退--mixed版本库和暂存区回退--hard版本库和暂存区和工作区回退--mixed(默认选项) --hard(慎选)想要回到 执行git reset版本回退之后, 再回到 执行git reset之前的版本git log看不到被回退掉的旧 commit 记录找不到旧版本的 commit‑id没法再切回旧版本git reflog记录本地所有操作记录commit、reset、checkout 等** 步骤:**(1)git reflog→ 查找目标版本对应的 commit‑id简写 id 即可(2)git reset --hard 简写commit‑id → 恢复到这个旧版本:::(三)撤销修改1.情况一对于工作区的代码还没有 ****add **命令:git checkout -- [ 文件名 ]让工作区的 文件回到最近一次add或commit时的状态要注意git checkout --[file] 命令中的--很重要切记不要省略情况二已经 add 但没有 commit命令:git reset --mixed HEAD 文件名◦ 只操作暂存区(只是取消 add)3.情况三已经 add 并且也 commit 了命令git reset --hard HEAD^回退到上一个版本(条件: 本地版本库未推送到远程)(四)删除文件命令git rm 文件名注意: 删完后要conmit注意:当命令端 出现按 ctrl c;不要在下创建文件夹, 使用**cd 文件夹**命令 放置到规划好的文件夹中5. 常见概念工作区是在电脑上你要写代码或文件的目录。暂存区英文叫stage或index。一般存放在 .git 目录下的 index 文件.git/index中我们把暂存区有时也叫作索引index。版本库又名仓库英文名 repository 。工作区有一个隐藏目录 .git它不算工作区而是 Git 的版本库。这个版本库里面的所有文件都可以被 Git 管理起来每个文件的修改、删除Git 都能跟踪以便任何时刻都可以追踪历史或者在将来某个时刻可以“还原”。如图所示:6. 分支管理命令:git log --graph --prettyoneline --abbrev-commit以图形、简洁单行的形式查看所有提交、分支分叉、合并历史看清分支是怎么分开、怎么合并的(一)创建分支命令git branch 分支名查看当前本第所有分支命令:git branch(二)切换分支git checkout 分支名git checkout -b 分支创建分支 并 切换到该分支(三)合并分支git merge 要合并过来的分支名先切换到合并的分支(四)删除分支(合并完成后,分支可以删除了)git branch -d 分支要在其他分支下删除当前分支(五)合并冲突(手动解决) HEAD # HEAD代表【当前分支(master)】的代码 master写的文字 # 分割线上面是master下面是要合并过来的dev1 dev1写的文字 dev1 # 来自dev1分支的代码解决步骤:打开冲突文件(cat 冲突文件)删掉 HEAD、、 dev1这些标记符号自己选择最终代码保留 master、保留 dev1、或者两者修改合并写在一起保存文件把改完的文件加入暂存完成合并提交解决完冲突,把分支删除(六)分支管理策略一 、 Fast forward 模式(少用)删除分支后查看分支历史时会丢掉分支信息看不出来最新提 交到底是 merge 进来的还是正常提交的使用--no-ff参数git merge --no-ff -m 提交信息 分支(七)分支策略首先master分支应该是非常稳定的也就是仅用来发布新版本平时不能在上面干活在其它新建分支上干活(八)BUG 分支场景在dev上开发到一半突然发现master分支上面有 bug需要解决。在Git中每个 bug 都可以通过一个新的临时分支来修复修复后合并分支然后将临时分支删除。现在dev的 代码在工作区开发了一半,还无法提交使用git stash命令 可以将当前工作区信息进行储藏修完bug后使用命令 :git stash list查看存放工作区的代码将代码恢复到工作区的命令:git stash popdev完成代码后与master进行合并时有可能会产生冲突(dev 代码里的不一定修复 BUG)解决方案:最好在自己的分支上合并master 再让 master 去合并 dev这样做的目的是有冲突可以在本地分支解决并进行测试而不影响 master(九)删除临时分支(feature)命令:git branch -D 分支名
返回列表