git 的作者就是linux之父,人家牛逼啊
- 干啥:文件管理,代码托管
- 优势: 多中心,多分支,多版本
- 缺点: 学习周期长
安装:
先装python,再装git ,安装好后,右键菜单栏中会出现:
git bash: 命令工具
git gui: 可视化工具
git思维关键字
- repository 仓库
啥是仓库,通俗讲就是git托管的文件夹。
- 我本地创建了一个文件夹,用git托管,这是我本地项目文件的一个仓库
- 我把它上传到服务器上,那服务器上的这个项目就有一个仓库
- 同事将这个仓库fork,clone包括下载 到他的电脑上,那这个项目文件就是一个仓库。
- brance 分支
仓库中的默认分支是master,当开发人员想做一个新功能,又不影响到当前代码时,可以创建新分支,分支与分支直接是隔离的,并可合并。
git为啥能成为主流
-
多中心分布式
git的每个仓库,都可以是一个中心, 都可独立操作,并可与其他仓库进行合并。 -
多分支
-
在开发中,经常多任务并行开发,可分为不同分支独立开发。或者是在多种开发方案测试时,可在不同分支实现。
-
在项目开发周期中,版本交付时,可使用分支进行迭代,并利于回退。
-
-
多版本
每次提交都会生成版本,可回退至某版本呢。建议切换新分支后,再回退。
git 基本操作命令
-
git clone http://仓库地址
将远程仓库的代码复制至本地
git clone https//www.github.com/账号/test_project.git
-
git pull origin master
拉取远程仓库的代码,将与本地代码合并
origin : 远程仓库的别名,默认指向git clone 中的【http://仓库地址】
master :默认主分支
-
git diff
查看当前修改内容 -
git add
将修改内容放入暂存区git add . //将当前目录下的编辑文件放入暂存区
git add 文件名称 //将文件添加进暂存区 -
git commit -m "提交内容说明"
将暂存区内容提交至当前仓库分支 -
git log
查看commit 历史 -
git push origin master
将本地commit的内容提交至远程仓库origin的master分支中。 -
git init
> mkdir test-project //创建test-project 文件夹
> cd test-project
> git init
git init 命令会将当前文件夹纳入git工具管理,在当前文件夹下会生产一个[.git]的隐藏文件夹,此项目的配置与操作都会存储[.git]中。
练习:参考网络资料,在github\gitlab创建项目
- git checkout -b master2
创建分支2,并切换到分支master2 。没有-b时是切换分支 - git checkout .
将文件中的修改撤销掉,后面跟. 代表当前文件夹下所有文件。还可以跟多个文件名,将制定文件修改撤销 - git merge master2
将master2分支与当前分支合并。例:
master > git merge master2
-
git branch
查看仓库中的分支列表 -
git remote -v
查看远程仓库列表详情 -
git reset --hard <commit id>
回退版本,commit id指git log 中查找。
还可以使用 git reset --hard 'HARD^' ,HARD只当前版本,'HARD^'上一个版本,'HARD^^'上上版本,HARD~100,回退前100个版本呢。推荐用commit id
网友评论