一、使用git
1、git是什么?
Git是目前世界上最先进的分布式版本控制系统。
- SVN与Git的最主要的区别?
-
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
-
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
-
2、git能做什么?
- 文件版本管理
作为版本管理系统诞生的Git,最重要的是可以帮助团队进行文件管理,各种源代码和文档等。 - 代码评审
代码评审作为软件开发流程中重要的一环,是项目顺利进行提供有效的保障,使用过Github的人对Pull Request应该不会陌生,如果高效进行代码就是另一个问题了。 - 持续集成
持续集成作为软件的开发和发布流程中最重要的一环,通过进行单元测试、自动化测试和自动构建发布,可以非常容易发现和改正Bug, 通过钩子(Hook),Git可以和构建工具(如Jenkins)结合构建持续集成环境。
3、git如何使用?
需要从git官网下载,然后进行默认安装即可。
二、 git配置
查看配置信息: git config --list
设置用户名: git config --global user.name "用户名"
设置用户名邮箱: git config --global user.email "邮箱"
配置ssh: ssh-keygen -t rsa -C 邮箱 (本地一份,远程一份, key中复制本地生成的id_rsa.pub中的内容)
解决git一直输入用户名和密码的问题:
git config --system --unset credential.helper //在git中输入此命令后,每次拉去代码需要重新输入用户名和密码
git config --global credential.helper store //这样再获取代码提示输入用户名和密码,输入之后后续就不需要再次输入了。
三、git常用命令
git初始化 git init
查看文件是否被git管理 git status
提交到暂存区 git add
提交到本地git仓库 git commit -m "提交描述"
提交到远程仓库 git push
查看git版本日志信息 git log
查看每一次提交的日志信息 git reflog
回退到某个版本 git reset --hard (前六位哈希值)
HEAD^:表示上一个版本
HEAD~100:表示网上100个版本
查看远程仓库地址 git remote -v
删除关联仓库地址 git remote rm origin
四、git分支
//创建和查看分支
查看分支: git branch
创建分支: git branch 分支名
切换分支: git checkout 分支名
既创建又切换: git checkout -b 分支名
//删除分支
删除分支: git branch -d 分支名 (删除本地分支)
删除远程分支: git push orgin -d 分支名 (删除远程分支)
如果要丢弃一个没有被合并过的分支,
可以通过强行删除: git branch -D 分支名。
//分支合并
分支合并: git merge 分支名(在master分支上合并子分支)
查看分支合并图: git log --graph
普通分支合并: git merge --no-ff -m "普通合并" 分支名
(禁用fast forward,能看出曾经做过合并)
五、git操作github上的项目
克隆github仓库: git clone 仓库路径
提交到远程仓库: git push origin master
线下同步线上项目: git pull origin master
项目常用操作流程
1、本地关联远程仓库:git remote add origin git仓库地址
查看关联远程仓库
git remote -v
2、第一次下载项目(远程-本地):
git clone git 仓库地址
3、第一次发布项目(本地-远程):三步
git add .
git commit -m "描述"
git push -u origin master
4、更新(远程-本地):
git pull
5、提交(本地-远程):三步
git add .
git commit -m "描述"
git push origin master
六、git合并分支到master完整步骤
1、提交分支代码
add . ---> commit ----push
2、切换分支到master
git checkout mater
3、更新mater代码
git pull origin mater
4、执行分支合并
git merge <分支名>
5、提交到远程仓库
git push origin master