赞
踩
Git 分布式的版本控制软件 (优点 1.快照 切换版本快 2.大部分操作可以离线,不用网)
红:工作区是新的
绿:工作区存入暂存区,暂未提交至工作区
白色:工作区和仓库一致
1. Git 中的三种状态
已修改 modified
已暂存 staged
已提交 committed
Git 操作的终极结果:让工作区中的文件都处于“未修改”的状态。
2.基本的 Git 工作流程如下:
① 在工作区中修改文件
② 将你想要下次提交的更改进行暂存
③ 提交更新,找到暂存区的文件,将快照永久性
存储到 Git 仓库
2. 配置用户信息
安装完 Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。因为通过 Git 对项目进行版本管理的时
候,Git 需要使用这些基本信息,来记录是谁对项目进行了操作:
git config --global user.name "用户名字"
git config --global user.email "邮箱"
git config --global --list
注意:如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效
git init 初始化储存库 只要写一次就行
git status 检查状态
使用 git status 输出的状态报告很详细,但有些繁琐。如果希望以精简的方式显示文件的状态,可以使用如下两条完全等价的命令,其中 -s 是 --short 的简写形式:
clear 删除
Tab 可以补全没写完的信息 补全代码
git add 放入暂存add后加什么放入缓存
git commit -m " 建立了什么就写上面" 保存到库
nothing to commit, working tree clean
//出现这个就成功同步了
git add . 点代表所有文件放入缓存
git commit -a -m "" 双引号加提交说明 把工作区直接同步上传 哲理上传文件必须要已经上传过的 修改文件 不推荐使用
git rm -f f后加许移除的文件
git rm --cached 后加许移除的文件 这是移除库的 工作区还有
.gitignore 新建一个文件命名为 .gitignore 然后在里面写需要忽略的内容 点一定要写
git log 所有提交历史 新的在前面 :出现冒号就是还有很多 按回车查看 到显示(END)就结束了
git log -2 查看最新的两条提交历史
git log -2 --pretty=oneline 在一行显示 最近两条信息 不写 -2 就是在一行上显示 所有提交历史git log --pretty=oneline
git log -2 --pretty=format:"%h | %an | %ar | %s" %h提交最近简写id值 %an 作者名字 %ar 作者修订日期,按多久以前的方式显示 %s 提交说明
git reset --hard 后面加需要写的id 就可以跳转至指定版本
git reflog 查看回收站
自建快捷键
[alias]
log2 = "log -20 --pretty=format:'%h | %an | %ar | %s'"
ad = "add ."
lg = "log"
rlg = "reflog"
cm = "commit"
ps = "push"
pl = "pull"
开源 与 闭源: 开源让人看 闭源不让人看
开源并不意味着完全没有限制,为了限制使用者的使用范围和保护作者的权利,每个开源项目都应该遵守开源许可协议( Open Source License )
常见的 5 种开源许可协议:
① BSD(Berkeley Software Distribution)
② Apache Licence 2.0
③ GPL(GNU General Public License)
⚫ 具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
⚫ 使用 GPL 的最著名的软件项目是:Linux
④ LGPL(GNU Lesser General Public License)
⑤ MIT(Massachusetts Institute of Technology, MIT)
⚫ 是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含原作者的许可信息
⚫ 使用 MIT 的软件项目有:jquery、Node.js
关于更多开源许可协议的介绍,可以参考博客 https://www.runoob.com/w3cnote/open-source-license.html
开源项目托管平台:
专门用于免费存放开源项目源代码的网站,叫做开源项目托管平台。目前世界上比较出名的开源项目托管平台
主要有以下 3 个:
⚫ Github(全球最牛的开源项目托管平台,没有之一)
⚫ Gitlab(对代码私有性支持较好,因此企业用户较多)
⚫ Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
注意:以上 3 个开源项目托管平台,只能托管以 Git 管理的项目源代码,因此,它们的名字都以 Git 开头
Github 上的远程仓库,有两种访问方式,分别是 HTTPS 和 SSH。它们的区别是:
① HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
② SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库
码云创建好后最下面的 两行代码 用这两行代码对本地数据库进行关联
- git remote add origin 远程仓库的地址
- git push -u origin master+
咧子:$ git remote add origin https://gitee.com/wanxifeml/liubi.git
$ git push -u origin master
git push 下一次加入就可以写这一行代码了
码云配置错了用 git remote remove origin 重新写
SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
① id_rsa(私钥文件,存放于客户端的电脑中即可)
② id_rsa.pub(公钥文件,需要配置到 Github 中
ssh-keygen 生成公钥私钥 回车三次就可以 配好后就不用配了 即可在 C:\hasee\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文 id_rsa.pub 这个到公司配置是发给项目经理
然后加入 码云里的 ssh 最下面两个进 Git Bash就可以
下面的这是github 运用的 码云不一样
也可以使用 ssh -T git@github.com 输入命令并回车执行:
输入 yes 之后,如果能看到类似于下面的提示消息,证明 SSH key 已经配置成功了
//下载远程
git clone 远程仓库的地址
cd 切换目录的意思
分支
在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支。 用来保存和记录整个项目已完成的功能代码。
注意:不能在主分支上修改代码 风险高 会导致项目崩溃
git branch 查看git仓库中的分支
注意:分支名字前面的 * 号表示当前所处的分支。
创建分支
git branch 分之名称
git checkout 分支名字 //切换到指定分支上进行开发
-b 表示新分支
checkout 表示切换到刚才新建的分支上
git checkout -b 分支名称 表示创建指定名称的新分支 并立即切换到新分支上:
git branch -d 分支名称 就可删除分支
注意:
"git checkout -b 分支名称" 是下面
两条命令的简写形式:
① git branch 分支名称
② git checkout 分支名称
合并分支
合并分支时的注意点:
假设要把 C 分支的代码合并到 A 分支,
则必须先切换到 A 分支上,再运行 git
merge 命令,来合并 C 分支
git checkout master 表示切换至主分支master
git merge 加要合并分支的名字就可完成合并
CONFLICT 出现这个就是有冲突
vs code 里会出现几个选项 分别是 自己 别人 两个都保留 最后一个是对比
遇到合并冲突时 手动解决冲突后 需要在走一次以下步骤
git add .
git commit -m "解决分支合并冲突问题"
第一次将本地分支推送到远程仓库,需要写以下命令:
-u 表示把本地分支和远程分支进行关联 只在第一次推送时候需要带 -n 参数
git push -u 远程仓库名称地址 本地分支名称:远程分支名称
只写 git push -u origin 本地分支名称 就可以使本地与远程名称一致
origin 固定表示远程仓库名称地址
注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。
查看远程仓库中,所有分支列表的信息:
git remote show 远程仓库名称
跟踪分支
指的是:从远程分支仓库中,把远程分支下载到本地仓库中,需要运行命令如下:
git checkout 远程分支的名称 主意:保持本地分支和远程分支名称相同
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
git pull 可以把最新的代码下载下来 ,保持代码最新 把代码也更新了
删除远程分支
删除远程分支中指定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称
总结
① 能够掌握 Git 中基本命令的使用
⚫ git init 创建git
⚫ git add . 添加至本地储存
⚫ git commit –m "提交消息"
⚫ git status 和 git status -s
② 能够使用 Github 创建和维护远程仓库
⚫ 能够配置 Github 的 SSH 访问
⚫ 能够将本地仓库上传到 Github
③ 能够掌握 Git 分支的基本使用
⚫ git checkout -b 新分支名称
⚫ git push -u origin 新分支名称
⚫ git checkout 分支名称
⚫ git branch
退出按 Shift : Q
pull push 直接推送所有分支
git remote update origin --prune
可以更新远程的分支到本地。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。