本系列文章是本人学习相关知识时所积累的笔记,以记录自己的学习历程,也为了方便回顾知识;故文章内容较为随意简练,抱着学习目的来的同学务必转移他处,以免我误人子弟~
git学习笔记
本次学习内容来自廖雪峰老师的教程,完整教程可移步至其官网。
版本控制系统
这是一种文件管理系统,最常用的地方是代码管理。对于一个文件的多次修改,我们可以通过此系统追溯到之前的多个版本,并可以还原到相应的版本。
分布式版本控制系统
这里有集中式和分布式的概念。
- 在集中式的版本控制系统中,文件统一管理在一个“中心”,每次需要修改时便需要从中心获取最新版本,而此时中心也跟着封锁,其他人无法同时修改;只有当修改者完成工作并上传到中心后,才能进行下一轮修改。集中式还需要联网操作,相当于在线修改。
- 而分布式版本控制系统并不存在类似的“中心”,当然它需要有一个公共的地方存放文件,每次修改只需从公共地方获取最新版本到本地,在本地修改后可上传更新到公共地方;所谓分布式,可通过众多修改者本地的版本而实现文件分布于世界各地的场景。
Git命令行
修改工作目录
cd c:/users/cool
此时便定位到了C://Users/Cool这个文件夹内;此时若想在进入子文件League of Legend,可以通过命令行cd League of Legend
来实现
创建新文件夹
mkdir learngit
并进入该文件夹:cd learngit
初始化仓库
git init
此时learngit文件夹中生成**.git**子文件夹,里面包含git仓库相关配置
加入文件
首先将文件readme.txt放入learngit目录下,再通过命令行
git add readme.txt
将readme.txt添加入仓库中
第一步将文件放入目录地下,属于物理添加;第二步是将文件归入仓库中,属于逻辑添加
提交文件
git commit -m "create new file"
-m后面的内容属于版本提交的信息备注。
git status
–查看当前工作状态。
git diff readme.txt
查看当前版本与最新修改的异同。
git log
查看历史提交日志。
git reset --hard HEAD^
回退版本。
git checkout --readme.txt
撤销工作区的所有修改(增加、修改、删除等),相当于“一键还原”,使用版本区的版本覆盖工作区。
git reset HEAD readme.txt
撤销提交到暂存区的文件。
rm readme.txt
删除工作区的文件。
git rm readme.txt
删除版本库的文件。
git remote add origin git@github.com:zyhcool/learngit.git
关联GitHub的远程库learngit。
git push -u origin master
origin为远程库名,master为本地版本库名;加上**-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git clone git@github.com:zyhcool/learngit.git
从远程库克隆代码到本地,建立起本地版本库(ssh协议)
git checkout -b dev
创建分支dev**,并将工作区切换到dev
git branch dev
创建分支。
git checkout dev
切换到分支dev。
git merge dev
在主支上合并分支dev。
git branch -d dev
删除分支。
git branch -D dev
强制删除分支。
git branch
查看当前分支。
git stash
储藏工作区的工作。
git stash pop
回复工作区工作,并删除stash内容。
git branch --set-upstream-to=origin/dev dev
设置本地分支dev于远程版本库分支dev的链接。
git tag v1.1
或git tag v1.3 0afj35n
为某次版本提交添加标签。