Git
文章
1 基本操作
Git的本地操作 参考文献 git使用教程 总共有三种类型的主要操作 版本操作,用于版本的迭代和管理。时间管理 分支操作,用于实现分布式管理。空间管理 远程操作,用于远程仓库交互实现多人合作。时空共享 1 git安装 Linux上通过命令行能够很轻松的部署好git Windows上需要安装GitBash,模拟linux命令行 安装完成后需要配置全局信息的命令 12git config --global user.name "Your Name"git config --global user.email "email@example.com" 2 创建版本库1git init 生成.git文件,将这个目录初始化为一个版本的仓库。 1git add readme.txt 将文件添加到缓冲区,可以连续多次向缓冲区中添加东西 1git commit -m "wrote a message" 将缓冲区的文件提交到历史记录当中当中,可以一次提交对缓冲区的多次修改。 3 时光穿梭机1git status 用来查...
2 版本操作
2 版本操作1 提交工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的。 暂存区:已经 git add xxx 进去,且未 git commit xxx 的。 本地分支:已经git commit -m xxx 提交到本地分支的。 git add 文件名。 作用:将文件由 工作区 添加到 暂存区,暂存文件 git add –all 或者 git add -A 或者git add .(简写) 添加所有文件 git add a.txt b.txt 同时添加两个文件 git add *.js 添加当前目录下的所有js文件 git status 作用:查看文件的状态 命令:git status 命令:git stauts -s 简化日志输出格式 git commit 作用:将文件由 暂存区 添加到 仓库区 git commit -m “提交说明” 2 回滚工作流git reset 作用:版本回退,将代码恢复到已经提交的某一个版本中。 git reset –hard 版本号 将代码回退到...
3 分支操作
3 分支管理这里主要体现的git的功能的分离,这才是真正的git吧。每一个分支都是一个单独的可以分离的工作单位。每个用户可以建立不同的分支进行工作,最终提交到同一个开发分支上。一个用户可以建立不同的分支实现不同的功能,最终提交到同一个用户分支上。分支的灵活性,可以让我们很容易的实现不同分工的分割。 创建分支1git checkout -b dev 创建分支,并且将工作目录切换到dev的工作目录上。 1git branch dev 使用当前版本分支创建新的分支(即添加一个分支指针)。 1git checkout dev 将工作区切换到某一个分支指针所指的版本上。 1git branch 会列出所有的分支目录。 分支合并1git merge dev 将dev分支合并到当前工作目录下的分支上(不一定是产生他的父分支) 1git branch -d dev 用来删除一个已经无效的分支指正,但是在这个分支指针上左右的操作都会保留。 分支合并方式 1git merge --no-ff -m "merge messge" dev --no-ff 不适用fastfoward...
4 远程操作
4 Git的远程操作远程操作主要是指,在不同的仓库之间进行提交和代码更改。是一个明显的对等的分布式系统。其中本地个仓库与远程仓库,不同的远程仓库之间都可以建立这种关系。这种关系之间的操作主要有pull和push。 远程仓库创建SSH key远程仓库和本地仓库一般是通过ssh通信的,需要ssh通信的加密钥匙。 id_rsa是私钥,id_rsa.pub是公钥,可以告诉别人。 1ssh-keygen -t rsa -C 'yinkanglong@163.com' 登录github,添加公钥内容。建立本地与远程仓库的通信协议 添加远程仓库github的界面操作可以很轻松的创建一个远程仓库。但如果想要直接上传自己本地的完整git库,必须创建一个没有lisence和readme的空库。 1git remote add origin git@github.com:michaelliao/learngit.git 将本地仓库和远程仓库进行关联。一般都叫远程关联仓库为origin,本地的主干分支一般名为master 1git push -u origin master 将本...
5 多人协作
5 多人协作通过远程库的push和pull操作实现夺人合作 推送分支或分支内容 当从远程库进行克隆的时候,实际上已经将本地master分支和远程的master分支进行乐关联。 1git remote [-v] 可以显示与远程库关联的信息 1git push origin master 推送分支,吧分支上的所有本地内容提交到远程库中的相同分支当中。 哪些分支需要推送 mater分支是主分支,需要实时推送 dev是开发分支,所有成员都要在上面工作。也需要与远程同步。 bug分支只需要在本地修复bug,没有必要推送到远程。 feature分支,可以不用推送到远程。单人开发不用,夺人开发要推送到远程。 抓取分支或者分支的内容1git checkout -b dev origin/dev 可以用来抓取远程分支dev,这样会建立一个本地的本地的dev分支与远程的dev分支进行关联,可以直接实现dev分支的控制(push) 1git pull \<remote\> \<branch\> 如果Git push失败,说明,当前的版本不是最新的版本。git pull可...
6 基本原理
基本原理1 基本对象简介git仓库版本控制相关的数据都存储在git的数据库中,可以将它看做一个简单的KV数据库,存储在根目录的.git/文件夹下面。他的Key依赖哈希算法生成。 在git数据库中主要有三种类型的对象,所有的对象都是一个KV对象的形式存储。 Blob对象 Tree对象 Commit对象 每个对象都有有个ObjectId进行索引。每个ObjectId会指向一个具体类型的对象。 git cat-file命令可以访问git数据库中的对象,根据objectId搜索对象的值。 1234-e check if <object> exists-p pretty-print <object> content-t show object type (one of 'blob', 'tree', 'commit','tag', ...)-s ...
github
1 使用github 参考文献[https://www.bilibili.com/video/av10475153/index_2.html\#page=5] github的简介 Create Repository创建仓库 Star收藏 Fork复制一份远程仓库 Pull Request拉我呀,快点,我改好了。 Open & Merge Request拉你了,别墨迹。 Watch看着你呢,关注一个项目。 Github主页仓库主页——仓库相关的信息和相关操作 2 pull request3 fork syncize 参考文献 https://blog.csdn.net/qq_22918243/article/details/89642445 配置fork远程仓库 查看fork之后的项目的远程仓库状态 1git remote -v 添加一个将被同步给 fork 远程的上游仓库 1git remote add upstream <git_url> 再次查看状态确认是否配置成功 同步Fork 从上游仓库 fetch 分...











