赞
踩
之前代码一直使用 SVN 管理,一直是图形化 界面。新东家 采用的是 Git; 趁早下班 过来学习下;
什么是 Git:
Git 是一个 开源的 分布式版本控制器系统, 可以有效. 高速地处理从 很小到很大的 项目版本管理
Git的特征:
- 每台电脑都是一个版本库,可以在本地做版本管理
- 速度快,git的速度远超大部分版本管理系统,包括 SVN
- 强大的分支管理
- 活跃的开源社区,如著名的 Github
● Git 是分布式的, SVN 是中心化的
![]()
SVN 开发者 可以向SVN 服务提交 和 拉取
Git 自己本身 就是一个版本; 可以自己给自己本地提交;提交完毕 你可以发送补丁到 主开发者, 同时 也可以和 github 进行代码的同步
● Git 与SVN版本机制 不一样
SVN 开发者 提交的是 变化
Git 提交的时候 提交的整体
● Git 不需要联网
SVN 开发者 只能提交到 SVN服务器
Git 开发者 可以提交到 本地
● Git 内容完整性优于 SVN
● 本地仓库的 创建:
git init 初始化一个本地仓库, 在同级目录下会出现一个隐藏的 .git 文件
● 配置
查看 配置: git config -l
配置: git config xxx (必须配置 user.name 和 user.email)
E:\worksoft\ASD\git-test>git config user.name 'king' E:\worksoft\ASD\git-test>git config user.email 'abc@gmail.com'
● 三级文件配置
- .git/config
- 当前用户目录/.gitconfig
- git安装目录/etc/gitconfig
● 本地提交
- git add filename 提交到索即缓存没有正式写入文件 (-A 代表全部)
Git add . 和 -A 的区别 (当前目录以及子目录) . : 把新增的文件 和 修改的文件都加入缓存 库 -A: 把新增的文件 和 修改的文件 和 删除的文件 都加入缓存 库
- git commit -m '版本描述' 提交到文件库
配合 git add filename 一起使用 写入文件 E:\worksoft\ASD\git-test>git add -A E:\worksoft\ASD\git-test>git commit -m '测试' [master 8d14738] '测试' 1 file changed, 1 insertion(+)
- git commit -am '版本描述' 一步提交完成
不用提交缓存 一步提交 E:\worksoft\ASD\git-test>git commit -am '修改脚本' [master 966d936] '修改脚本' 1 file changed, 1 insertion(+), 1 deletion(-)
Git 远程仓库:
gitHub 是一个面向开源 以及 私有软件项目的 托管平台, 因为只 支持 git 作为唯一的版本库 进行托管, 故名 git 与 github 链接需要通过加密通道;一共有两种:
- ssh 复杂一点
- https 简易一点
建立代码仓储的 链接 E:\worksoft\ASD\git-test>git remote add enjoy-https https://github.com/kingjames223/enjoy-git.git 查询链接 E:\worksoft\ASD\git-test>git remote enjoy-https //查询链接 详细的信息 E:\worksoft\ASD\git-test>git remote -v enjoy-https https://github.com/kingjames223/enjoy-git.git (fetch) enjoy-https https://github.com/kingjames223/enjoy-git.git (push)
● clone 克隆
E:\worksoft\ASD\git-test>git clone '远程地址' ‘本地文件名称’ // https 地址 ooxx 文件夹 E:\worksoft\ASD\git-test>git clone https://github.com/kingjames223/enjoy-git.git ooxx // SSH 方式连接的话 需要生产密码以及对应的证书 E:\worksoft\ASD\git-test>ssh-keygen -t rsa -C abc.gmail.com Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\john/.ssh/id_rsa): Created directory 'C:\Users\john/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\john/.ssh/id_rsa. Your public key has been saved in C:\Users\john/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Nv31cOQKLH+Sgyg4f+2kxVuv5Hbk5T9swnBei7PndgY abc.gmail.com The key's randomart image is: +---[RSA 2048]----+ | | | | | .| | . . o | | S o o o o| | . . + * =E*.| | o . ..= &o*+o| | o ..+.=.@oB+| | ....o.o+Xo=| +----[SHA256]-----+
生成了两个文件, id_rsa.pub 为公钥
● push 推送本地修改至远程 git 文档库
E:\worksoft\ASD\git-test>git push -u enjoy-https master
首先得定位到你的路径:
删除本地提交记录的最后一条或最后N条记录 git reset --hard HEAD~1删除提交记录中的某几条
1. 使用命令查看提交的记录: git log
2. 找到相应的记录ID
3. 执行命令:git rebase -i 记录ID
4. 进入到一个页面。
5. 使用cw命令将行首的pick替换为drop(注意每完成一个替换操作,需要按下Esc键退出vi的编辑模式)。
6. 检查确认后,按wq保存并退出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。