git基础
介绍
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
安装配置
win端下载:https://gitforwindows.org/
linux端下载:https://git-scm.com/download/linux
配置个人信息
1 | $ git config --global user.name "用户名" |
要检查已有的配置信息,可以使用 git config --list
命令。
创建克隆仓库
使用当前目录作为 Git 仓库,我们只需使它初始化。
1 | git init |
从现有 Git 仓库中克隆项目
1 | //克隆仓库的命令格式为: |
添加、提交与推送
本地仓库由 git 维护的三棵“树”组成。第一个是工作目录,它持有实际文件。
第二个是 暂存区(Index),它像个缓存区域,临时保存改动。
1 | //将文件名添加到暂存区 |
HEAD,它指向最后一次提交的结果。
1 | //将暂存区中的文件提交 |
改动现在已经在本地仓库的 HEAD 中了,还需要将这些改动提交到远端仓库,但在那之前需要先将其与远端仓库建立关联。
1 | //生成与远程仓库连接的ssh秘钥,将 id_rsa.pub中的key复制,与远端仓库关联 |
分支、更新与合并
分支是用来将特性开发绝缘开来的。在创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
1 | //创建一个叫做“feature_x”的分支,并切换过去: |
要更新你的本地仓库至最新改动,执行:
1 | git pull |
以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
要合并其他分支到你的当前分支(例如 master),执行:
1 | git merge <branch> |
在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:
1 | git add <filename> |
在合并改动之前,你可以使用如下命令预览差异:
1 | git diff <source_branch> <target_branch> |