每日一唠叨:
公司之前用SVN管理项目,现在改为用GIt,记录下一些常用的命令行增加记忆。
1、Git概念
Git 是一个开源的分布式版本控制系统。
2、什么是版本控制?
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
作用:
实现跨区域多人协同开发
追踪和记载一个或者多个文件的历史记录
组织和保护你的源代码和文档
统计工作量 并行开发、提高开发效率
跟踪记录整个软件的开发过程
减轻开发人员的负担,节省时间,同时降低人为错误
简单说就是用于管理多人协同开发项目的技术。
3、常用的版本控制器
目前使用最广泛的是Git与SVN。
区别
1、SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
2、Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
4、Git基础命令行
1、先更新远程仓库
2、把本地修改好的文件推送到本地仓库
3、再把本地仓库推送到远程仓库
创建一个新的仓库,在当前目录下初始化它
git init
该命令执行完后会在当前目录生成一个 .git 目录。
2、克隆远程仓库项目,相当于SVN导出项目。
git clone xxxxxx(项目地址)
Git 基本命令行
#初始化
git init
# 更新版本
git pull
#提交版本
git push
#克隆项目
git clone xxxxxx(项目地址)
#提交备注
git commit -m "第一次提交"
# 列出所有本地分支
git branch
#查看所有分支
git branch -a
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
#回滚到对应的commit的代码 查看历史变更记录
git reflog
#(n是你要回退到的引用位置)回退。
git reset --hard HEAD@{n}
#回滚远程仓库
git push -f
#改变目录
cd:
#回退目录
cd ..
#显示当前目录
pwd
#重新初始化终端/清屏
reset
#清屏
clear
#伪清屏快捷键(滚动条置于最下方,往上滚动屏幕看到原来操作过的命令和记录。)
ctrl+L
#查看历史命令
history
#回退上个命令快捷键
↑
#退出
exit
如果同一个文件在合并分支时都被修改了则会引起冲突:
解决引起冲突办法::
把本地冲突文件另保存起来
还原本地文件版本。
修改冲突文件后重新提交!
master主分支应该非常稳定,用来发布新版本,
一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,代码稳定了,再合并到主分支上来。
比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。