0.什么是Git
维基百科上对git的说明:
git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。
git是一种分布式的版本管理工具,每个人的设备上都是一份完整的代码库,并且包含了所有的代码提交历史。所以,即使是在没有网络的情况下,也可以将代码提交到本地git版本管理库中,等到网络恢复之后再上传到服务器。
1.工作区和暂存区
1.1工作区
工作区是指当前工程的目录。
如果我新建的是一个Android的工程那么它的工作区则为:
1.2 暂存区
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
2.基础的Git命令使用
git命令流程图:图片来自知乎@王奥(OX)
2.1配置本地仓库的用户信息
git config --global user.name "[name]"
git config --global user.email "[email address]"
2.2 常用的命令
git init :初始化一个本地仓库
git add –all :添加所有文件到暂存区(stage,index)
git commit -m :“描述信息” 提交更改到本地master分支
git status :查看git当前状态
git diff :查看改动后和改动前的不同之处
git log :获得文件更改的历史记录
git checkout – readme.txt:把readme.txt文件在工作区的修改全部撤销
git remote -v 查看远程服务器地址和仓库名称
git remote show origin 查看远程服务器仓库状态
git remote add origin git@xxx.git 添加远程仓库地址
git remote set-url origin git@xxx.git 设置远程仓库地址(用于修改远程仓库地址)
git remote rm <repository> 删除远程仓库
git branch # 显示本地分支
git branch -a # 显示所有分支
git merge origin/master # 合并远程master分支至当前分支
git fetch # 获取所有远程分支(不更新本地分支,另需merge)
git pull origin master # 获取远程分支master并merge到当前分支
命令速查表 via HalShaw:
git commnd2.3为现有的项目添加git控制并上传到gitlab
cd existing_folder
git init
git remote add origin xxx.git
git add .
git commit -m "Initial commit"
git push -u origin master
3.可视化界面下Git的使用
除了使用git bash的命令行来进行项目版本控制,可视化的git管理工具也是我们日常最经常使用的。
3.1 Android Studio 自带的git可视化工具
使用前记得安装git,并且在Android Studio中配置好git。
3.1.1 基本命令的使用
在project视图下选中整个项目
add
git>>add 即可将整个工程添加到git的暂存区。
commit
要控制好commit粒度以及commit信息的书写
push
push之前要确保本机的ssh已经添加到管理远程仓库的网站中。
这里可以有两种方式设置远程仓库地址
第一种,在可视化界面中点击origin:后的蓝色文字,添加远程仓库
第二种,利用git bash,
git remote -v 查看远程服务器地址和仓库名称
git remote show origin 查看远程服务器仓库状态
git remote add origin git@xxx.git 添加远程仓库地址
git remote set-url origin git@xxx.git 设置远程仓库地址(用于修改远程仓库地址)
git remote rm <repository> 删除远程仓库
这5个命令可以让你完全掌握远程仓库的状态信息,并且在出现异常时(如远程仓库地址更改,服务器绑定域名更换等等),可以很方便地移除或者修改远程仓库的地址。
3.1.2快速调出版本控制的控制面板
或者在选中项目之后,使用快捷键Alt+`(windows下),即可调出版本控制的控制面板,快速地进行相应操作,非常方便,推荐使用。
3.1.3 Version control
清楚地展示Git flow
这里可以很清楚地展示git仓库的各个版本之间的关系以及版本信息。
3.2 SourceTree ,Git GUI
这些也是非常好用的图形化工具,这里就不多介绍了。
Tips:
推荐一些比较好的关于git的网站:
在线的git使用学习网站
https://learngitbranching.js.org/
廖雪峰的git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
网友评论