版本管理工具Git

版本管理工具是干嘛用的?

1. 备份文件

每当我们对文件有修改的时候,提交我们的修改给版本管理工具,进行一个保管,万一哪一天我们的电脑坏了,还能从备份里面恢复回来,其实备份是我们项目开发中最基本的事情,因为每天的工作结果都保存在文件当中,如果某一天有一些不可预料的因素导致我们的文件丢失了,这种损失是相当大的。

2. 记录历史

记录几点,几分,谁对文档进行了修改。

3. 版本回退

版本工具会把我们每一次提交都做一个备份。

4. 多端共享

类似苹果的iCloud服务,我们可以在不同的设备上拿到最新的文件。

5. 团队协作

版本工具能够帮我们解决冲突,将负面影响降低至最小。

版本管理工具的发展历史

版本管理工具Git_第1张图片

Git下载和安装

下载网址:https://git-scm.com/downloads

Git的工作原理

版本管理工具Git_第2张图片

主要步骤:

    添加(add)、提交(commit)、远程推送(push)、远程克隆(clone)、远程更新(pull)

其它命令:branch、tag、remote、checkout、merge、log、status、fetch、rebase等

先add到本地的缓存,再commit到我们的本地仓库,再push到我们的远程仓库。

Git与svn主要区别:

1. 基于本地进行完整的版本管理,不强依赖远程仓库。

2. Git把内容按元数据方式存储,而SVN是按文件。

3. Git分支和SVN的分支不同。


1. 如何用git创建一个项目:

版本管理工具Git_第3张图片

其中,.git文件夹包括了整个的版本管理的功能。

版本管理工具Git_第4张图片

git branch: 列出本地已经存在的分支,并且在当前分支的前面用"*"标记

版本管理工具Git_第5张图片

创建说明文件: README.md(如果是git到码云上,可以不用创建)


在命令行输入如下代码:git add README.md   ->  git status

版本管理工具Git_第6张图片

这时就会显示有一个新文件等待提交,输入如下代码:git commit -m "the first commit"

版本管理工具Git_第7张图片

git记住账号和密码:

    每次操作都需要输入用户名和密码感觉很繁琐,解决方法,在本地的工程文件夹的.git下打开config文件

    添加:

    [credential]

helper = store

    再输入一次用户名密码后就可以保存住了。

Git Please tell me who you are 解决方法

在git创建项目时出现

是因为在创建git文件夹的时候信息不完善导致的

1. git init 

2. git config user.name "someone"

3. git config user.email "[email protected]"

4. git add *

5. git commit -m "some init msg"

上述内容有待完善!!!

在commit到我们的本地仓库的时候,报错。

处理的方式:

git config --global user.email "你的邮箱"

git config --global user.name "你的名字"

输入完成之后再接着执行git commit即可成功!

版本管理工具Git_第8张图片

提交之后的状态:


查看git所在项目是否有远程仓库的地址:git remote

版本管理工具Git_第9张图片

添加远程仓库的地址:

公司一般都会有git的私服,用gitlab

版本管理工具Git_第10张图片

添加成功之后,第一次提交:git push origin master 正式上传至码云中,若上传有问题,可以试试 git push origin master -f 表示舍弃线上的文件,强制推送。

将码云的项目git到本地

git clone https://gitee.com/~

版本管理工具Git_第11张图片

git add -A


执行git add .时报错提示:

warning: LF will be replaced by CRLF in ......    
The file will have its original line endings in your working directory. 
解决方法:
git config --global core.autocrlf false
就可以解决了。
原因就是:

原因是路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题。

如何解决冲突:

在push到远程仓库之前先git pull一遍。

git pull命令用于从另一个存储库或本地分支获取并集成(整合)。git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,它的完整格式稍稍有点复杂。

版本管理工具Git_第12张图片

此时,发现有冲突。并且Automatic merge failed; fix conflicts and then commit the result.告诉我们自动合并失败了,需要我们手动合并。CONFLICT (content): Merge conflict in README.md这句话告诉我们哪个文件存在冲突。

版本管理工具Git_第13张图片

然后将远程的那部分删掉,保留我本地的,然后再->git add . ->git commit -m "CONFLICT README.md"

版本管理工具Git_第14张图片

版本管理工具Git_第15张图片

再push到远程,这时冲突就解决了。

版本管理工具Git_第16张图片

版本管理工具Git_第17张图片

pull其实干了两件操作:

fetch:更新

merger:合并



你可能感兴趣的:(git)