赞
踩
➢负责管理文件版本
➢操作简便:只需识记几组简单的终端命令,即可快速上手常见的版本控制软件
➢易于对比:基于版本控制软件提供的功能,能够方便地比较文件的变化细节,从而查找出导致问题的原因
➢易于回溯:可以将选定的文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态
➢不易丢失:在版本控制软件中,被用户误删除的文件,可以轻松的恢复回来
➢协作方便:基于版本控制软件提供的分支功能,可以轻松实现多人协作开发时的代码合并操作
➢单机运行,使维护文件版本的操作工具化
➢联网运行,支持多人协作开发;性能差、用户体验不好
➢联网运行,支持多人协作开发;性能优秀、用户体验好
➢Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
➢特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!
➢Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
➢缺点:占用磁盘空间较大
➢优点: 版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
➢特点: 空间换时间
➢使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库
已修改、已暂存、已提交
➢工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。
➢如果文件已修改并放入暂存区,就属于已暂存状态。
➢如果 Git 仓库中保存着特定版本的文件,就属于已提交状态。
➢git config --global user.name "xxx"
➢git config --global user.email "xxx@xxx.cn"
➢如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效。
➢查看所有的全局配置项
git config --list --global
➢查看指定的全局配置项
git config user.name
git config user.email
➢打开git config 命令的帮助手册
git help config
➢获取git config 命令的快速参考
git config -h
命令语法::git init
➢git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分
命令语法: git status
➢使用 git status 命令查看文件处于什么状态
命令语法:git status -s / git status --short
➢以精简的方式显示文件状态
➢两条完全等价的命令,其中 -s 是 --short 的简写形式
命令语法: git add 文件名
➢可以用它开始跟踪新文件
➢把已跟踪的、且已修改的文件放到暂存区
➢把有冲突的文件标记为已解决状态
➢修改过的、没有放入暂存区的文件前面有红色的 M 标记。
命令语法:git add .
➢一次性将所有的新增和修改过的文件加入暂存区:
命令语法: git commit -m “日志信息”
➢其中 -m 选项后面是本次的提交消息,用来对提交的内容做进一步的描述、
➢可以将暂存区中记录的快照,提交到 Git 仓库中进行保存
命令语法:git checkout -- 文件名
➢撤销对文件的修改,把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本
➢操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!
➢撤销操作的本质:用 Git 仓库中保存的文件,覆盖工作区中指定的文件
命令语法:git reset HEAD 要移出文件的名称
➢撤销指定的未提交的修改内容,例如:撤销暂存区的文件
命令语法:git commit -a -m “日志”
➢Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤:git commit -a -m “日志”
我们可以创建一个名为 .gitignore 的配置文件
➢以 # 开头的是注释、以 / 结尾的是目录、以 / 开头防止递归、以 ! 开头表示取反
➢星号 * 匹配零个或多个任意字符
➢ [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
➢问号 ? 只匹配一个任意字符
➢两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)
命令语法:git log
➢Github(全球最牛的开源项目托管平台,没有之一)
➢ Gitlab(对代码私有性支持较好,因此企业用户较多)
➢Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库。
命令语法:
git remote add origin 远程仓库地址
git push origin master
第二次提交代码只需要命令行运行 git push
SH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
➢ id_rsa(私钥文件,存放于客户端的电脑中即可)
➢ id_rsa.pub(公钥文件,需要配置到 Github 中)
配置SSH key步骤:
➢打开 Git Bash
➢粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:
➢ssh-keygen -t rsa -b 4096 -C "注册 Github 账号时填写的邮箱"
➢连续敲击 3 次回车,即可在 C:\Users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
➢使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
➢在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
➢将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
➢在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来
检测SSH key 是否配置成功
输入命令 ssh -T git@托管平台.com
例如ssh -T git@github.com
git clone 远程仓库的地址
➢在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做master 的分支。通常我们把这个master 分支叫做主分支。
➢在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。
➢因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。
➢功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试,完毕后,最终需要合并到 master 主分支上。
➢假设要把 C 分支的代码合并到 A 分支,
➢则必须先切换到 A 分支上,再运行 git
➢erge 命令,来合并 C 分支!
➢如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。 此时,我们需要打开这些包含冲突的文件然后手动解决冲突。
➢如果是第一次将本地分支推送到远程仓库,需要运行如下的命令:
➢注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。
git remote show 远程仓库名称
➢跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中
git checkout 远程分支名称
➢如果你想自己命名本地分支名称
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
git pull
git push 远程仓库名称 --delete 远程分支名称
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。