带你玩转Git

1.Git基本介绍

Linus的第二个伟大作品。2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了。

目前使用Git作为版本控制的开源软件:Linux kernel,Android, jQuery, Ruby on Rails,Debian… ,github,码云

1.1GitSVN的工作原理

1、SVN工作原理【了解】

带你玩转Git_第1张图片

 2、Git工作原理

带你玩转Git_第2张图片

常见命令整理:

  • git clone :从仓库克隆项目到本地电脑

  • git add : 添加代码到git管理

  • git commit : 提交代码到本地仓库

  • git push : 推送代码到远程仓库

  • git pull :把远程仓库中的代码下载到本地仓库

3、Git与SVN的区别 :

  1. 版本库本地化,支持离线提交,相对独立不影响协同开发。每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。

  2. 更少的“仓库污染”。git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像老版本SVN那样在每个目录下都产生.svn目录。

    把内容按元数据方式存储,完整克隆版本库。所有版本信息位于.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签、分支、版本记录等。

  3. 支持快速切换分支方便合并,合并代码更加简单。在同一目录下即可切换不同的分支,方便合并,且合并文件速度比SVN快。

  4. 分布式版本库,无单点故障,内容完整性好。

  5. 国外开源项目基本使用git

2.Git的安装

2.1.下载Git

  1. Git安装程序:https://git-scm.com/downloads

  2. 可视化程序:https://tortoisegit.org/download/

  3. 汉化包:https://download.csdn.net/download/zhaobingpo/11982523?utm_source=bbsseo

Git安装包:Git-2.9.3.2-64-bit.exe
Git可视化工具:TortoiseGit-2.2.0.0-64bit.msi
Git汉化包:TortoiseGit-LanguagePack-2.2.0.0-64bit-zh_CN.msi

2.2安装Git-2.9.32-64-bit

带你玩转Git_第3张图片

 带你玩转Git_第4张图片

 带你玩转Git_第5张图片

带你玩转Git_第6张图片

带你玩转Git_第7张图片

带你玩转Git_第8张图片

 2.3安装TortoiseGit-2.2.0.0-64bit

双击安装即可,安装好之后,右键菜单会出现Git相关项目:

带你玩转Git_第9张图片

2.4安装TortoiseGit-LanguagePack

双击安装即可,安装好之后 在 TortoiseGit -> Settings 中选择语言:

带你玩转Git_第10张图片

3.Git的基本使用

3.1基本命令

创建仓库:git  init --bare shared.git 

clone克隆仓库:git clone /f/software/repository/git/shared.git/ . (注意有个点,表明当前目录)

配置用户名和邮箱:、

git config --global user.name “用户名任意写”

git config --global user.email “邮箱任意写”

查看用户名和邮箱:

git config user.name 

git config user.email 

add添加操作:git add xxx.txt

commit提交:git commit -m "这里是提交日志"

push推送:git push origin master 推送commit过的文件到远程仓库

忽略文件:echo "*.txt" > .gitignore   

把 *.txt 添加到.gitignore 文件中,所有以txt结尾的文件都被忽略

pull更新:git pull  更新本地库代码和远程库一致

3.2创建本地仓库

创建仓库:

1、创建一个空文件夹作为Git中央仓库,如 repository , 右键创建版本库

带你玩转Git_第11张图片

 2、制作纯净的版本库:

带你玩转Git_第12张图片

 3、效果:

带你玩转Git_第13张图片

 克隆仓库:

1、另外再新建一个目录如:“zs” 代表一个程序员zs,然后克隆仓库

带你玩转Git_第14张图片

 2、填写仓库目录地址,以及克隆到zs目录的路径

带你玩转Git_第15张图片

 3、点击确定,克隆成功后会出现一个 “.git” 的隐藏文件,其中包含了Git的本地仓库,你可以不用管

文件提交

----执行add

新建文件,执行add添加版本库管理

带你玩转Git_第16张图片

 ----commit提交到本地仓库

带你玩转Git_第17张图片

 填写好提交日志,勾选好要提交的内容,选择提交

带你玩转Git_第18张图片

 ----push推送到远程仓库

[注意]该操作不能选中文件,直接在目录中右键即可

带你玩转Git_第19张图片

 默认master,直接确定即可 , 看到成功的提示,代表文件已经提交到了repository仓库中

带你玩转Git_第20张图片

【快捷】快速提交并推送

刚才我们是一步一步执行 add , commit , push 来提交文件的,这次我们一步到位,还是新建立一个文件,然后直接右键执行git提交->master :【注意】不需要选中文件,直接目录中右键

带你玩转Git_第21张图片

 这次直接点击提交和推送

带你玩转Git_第22张图片

 4.文件删除

4.1删除文件

直接删除文件即可

4.2.提交删除

 执行 git提交->master ,选中被删除的文件记录,填写日志,提交和推送

 带你玩转Git_第23张图片

5.查看日志

-----查看日志

右键 -> TortoiseGit -> 显示日志

带你玩转Git_第24张图片

 可以通过搜索框进行日志搜索 ,作者搜索,时间范围搜索,也可以选中某次版本进行差异比较,版本还原等

带你玩转Git_第25张图片

 -----查看版本库

右键 -> TortoiseGit -> 版本库浏览器

带你玩转Git_第26张图片

 可以查看版本库最新的代码情况,也可以查看日志和还原版本

 带你玩转Git_第27张图片

6.文件还原

6.1.查看日志

通过日志或者版本库还原版本 , 可以通过还原变更 , 和还原到版本2种方式

带你玩转Git_第28张图片

6.2.提交还原

还原的是本地工作空间,还需要提交到远程库

带你玩转Git_第29张图片

7.冲突解决

7.1.模拟冲突

文件冲突是多个人同时修改了同一个文件造成的,比如:zs 修改了 “第一个文件.txt” 文件

带你玩转Git_第30张图片

 然后提交到远程库

带你玩转Git_第31张图片

 这个时候, ls修改了 “第一个文件.txt” 文件 ,内容如下:

带你玩转Git_第32张图片

 然后 ls 也做提交 ,就会出现下面的错误:

带你玩转Git_第33张图片

 这个是因为同一个文件, zs修改了并提交到远程, 那ls提交的时候,git发现ls的内容和远程内容不一致,就让ls先pull拉取,拉取之后就会出现冲突,如下:

 带你玩转Git_第34张图片

7.2.解决冲突

 编辑冲突,打开冲突文件

 带你玩转Git_第35张图片

 假如下面是最终解决之后的效果:

带你玩转Git_第36张图片

 将内容修改成想要的效果[注意要和别人商量一下,不要把别人的代码删掉了] , 然后点击“解决冲突”:

带你玩转Git_第37张图片

 解决完之后,再提交到远程库即可

8.文件忽略

8.1.忽略文件

忽略就是把某些文件不交给git管理, 比如说我要把 iml结尾的文件不交给git管理,做如下操作:

 带你玩转Git_第38张图片

 这里选择递归

带你玩转Git_第39张图片

 然后会多出一个忽略文件 , 你也可以手动往这个文件中加入忽略的内容

 带你玩转Git_第40张图片

8.2.提交gitignore文件

最后还需要把这个忽略文件提交到远程库

带你玩转Git_第41张图片

 提交的时候你发现 被忽略的文件不会再出现到提交列表

------------------------IDEA待续----------------------------------------

你可能感兴趣的:(git,git,android)