Git的使用
关于版本控制
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订的系统。
- 本地版本控制系统。
- 集中式版本控制系统(
SVN
) - 分布式版本控制系统(
Git
)
Git的优势
Git诞生于2005年,Linux开源社区。
- 速度快
- 简单的设计
- 允许上千个并行分支
- 分布式
文件的状态
- 已提交(mommitted)该文件已经被安全的保存在本地数据库中了。
- 已修改(modified)修改了某个文件,但是还没有提交保存。
- 已暂存(staged)把已经修改的文件放在下次提交时要保存的清单中。
简单的使用
注册github···
略。
一. 起步
初次使用需要设置姓名和邮箱
git config --global user.name "你的名字"
git config --global user.email xxxxxxxx@xx.com
二. clone一个项目
git clone git@github.com :xxxxxxxx/xx.git
cd xx
三. 添加文件并提交
touch a.md
//创建文件echo "hello">a.md
//在文件里写入一个字符串。git status
//使用git status查看状态
-
git add.
//将当前文件夹里文件的增加,删除,修改全都放在暂存区。
-
git status
//再次查看状态
-
git commit -am "add"
//使用git commite提交,在“ ”中描述本次操作对文件的变动。
-
git push origin master
//把当前本地库里的改动推送到远程库master分支。
四. 修改删除文件
有人在某处修改你的远程仓库时,需要把远程仓库的变动合并到本地仓库,否则将无法提交。
git pull
// 合并远程仓库的变动vim a.md
······// 对a.md 文件作出一系列修改git commit -a
git push origin master
//完成修改并提交rm a.md
//删除a.md文件git add.
git commit -am "delete a.md"
// 提交删除变动git push
//同步到远程仓库。
Questions:
git clone url
和git pull
有什么区别。git push origin master
中的origin表示什么。
Answers:
git clone 是从远程库克隆一个版本库到本地,是从无到有的过程 ;
git pull 是从远程库获取最新版本并合并到本地库。是一个更新的过程。origin 是默认的远程版本库名称,你可以在 .git/config 之中进行修改,事实上 git push origin master 的意思是 git push origin master:master (将本地的 master 分支推送至远端的 master 分支,如果没有就新建一个)。
进阶使用
本地创建一个git项目推送到远程空仓库
mkdir newProject
//新建一个文件夹cd newProject
git init
git add .
git commit -am "init"
git remote add origin git@github.com:xxxx/xxx.git
git push origin master
注意 仓库和文件夹的区别在于仓库下面有一个隐藏的.git 文件夹,里面有一些信息。
分支操作
有人把 Git 的分支模型称为“必杀技特性”,这使Git脱颖而出。Git的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快。Git 鼓励在工作流程中频繁使用分支与合并。理解分支的概念并熟练运用后,你才会意识到为什么 Git 是一个如此强大而独特的工具。
git branch dev
//创建本地库dev分支git checkout dev
//切换到dev分支touch 123.html
git add .
git commit -am "add 123.html"
git push origin dev
//推送到origin地址的dev分支上。
分支合并
git checkout master
//切换到主分支git merge dev
//把dev分支的内容合并到当前分支master上
分支冲突
当自己和别人改变同一个文件的同一个地方,在执行git pull
的时候更新本地合并时会出现冲突。
- 修改冲突的文件。
- 重新提交。