版本控制能在软件开发中,确保由不同的人编辑同一程序文件能同步。可以帮助程序员进行代码的追踪、维护、控制等操作。
目录
6.2.3. 重命名远程仓库 - git remote rename
6.2.4. 移除远程仓库 - git remote remove
7.4.删除远程标签 - git push --delete
8.4.创建分支同时切换过去 - git checkout -b
1.Git的概念
早期的时候,Linux社区使用的是BitKeeper来进行版本控制;但是因为一些原因,BitKeeper想要收回对Linux社区的免费授权;于是Linus用了大概一周的时间,开发了Git用来取代BitKeeper;Linus完成了Git的核心设计,在之后Linus功成身退,将Git交由另外一个Git的主要贡献者Junio C Hamano来维护;
1.1.分布式版本控制
- 客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录;
- 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复;
- 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份;
所以安全性会更高一些,公司基本上都是使用git来管理项目的,我们也会重点学习git。
2.Git的安装与配置
要使用git,我们就需要安装git。 下载完git可以配置个人喜好或者信息。
2.1.Git的安装
git官网可以下载https://git-scm.com/downloads,根据对应的操作系统下载。
同时还需要查看自己的电脑是64位的还是32位的,下载对应的版本。
按照默认配置全局安装就可以了。
2.2.Git的命令工具
Git下载安装完之后,也会安装Git CMD、 Git GUI、Git Bash。点击鼠标右键就会出现Git GUI和Git Bash。
2.2.1.Git CMD
- 命令行提示符(CMD)是 Windows 操作系统上的命令行解释程序;
- 当你在 Windows 上安装 git 并且习惯使用命令行时,可以使用 cmd 来运行 git 命令;
其实Git CMD就是对命令行解释程序的封装。
你可以在Git CMD运行git命令,但是后面提到的Bash更方便。
2.2.2.Git GUI
- 针对那些不喜欢命令行执行命令的人;
- 它提供了一个图形用户界面来运行 git 命令;
点击鼠标右键,点击Git GUI Here就可以进入。
2.2.3.Git Bash
- Git Bash 就是一个 shell,是 Windows 下的命令行工具,可以执行 Linux 命令;
- Git Bash 是基于 CMD 的,在 CMD 的基础上增添一些新的命令与功能;
- 需要使用git的时候,用 Bash 更加方便,建议使用Git Bash;
点击鼠标右键,选择Git Bash Here就可以打开。
可以在这样的一个界面使用git命令。建议使用Git Bash。
2.3.Git的配置
安装Git后,要做的第一件事就是设置你的用户名和邮件地址。
- 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改;
- 如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息;
需要配置用户名,也需要配置自己的邮件地址。
git config --global user.name "用户名"
git config --global user.email "电子邮箱"
使用git config --list就可以查看自己的配置信息。
在C盘也可以找到gitconfig文件,
如果用记事本方式打开可以看到里面的配置信息。
2.4.Git的命令别名(alias)
如果不想每次都输入完整的git命令,可以给每个命令设置一个别名。
git config --global alias.st status
这个命令是给status起别名st,在配置完了之后输入git st就相当于git status。
不过正常不会设置别名,完整的git命令也不长。
3.Git的本地仓库
我们使用Git来管理代码,本地也需要有一个Git仓库。
有两种获取Git仓库的方式:
- 如果要新建一个项目,就需要初始化一个Git仓库,我们可以将当前项目的文件都添加到Git仓库中。
- 如果已经有一个项目了,从其他服务器克隆一个已经存在的Git仓库。
3.1.初始化Git仓库 - git init
初始化仓库是用在创建一个新项目的时候。
git init
这个命令将创建一个名为.git的子目录,这个子目录有初始化Git仓库中所有的必须文件,这些文件是Git仓库的核心。
3.2.从Git远程仓库克隆 - git clone
如果已经创建过Git仓库了,我们可以从服务器克隆远程仓库到本地。
git clone https://github.com/xxx/xxxxx.git
克隆开源项目的时候不需要验证,如果是闭源项目的话,就需要验证了,后面学习。
4.Git的状态和忽略文件
为了更好地对仓库文件进行管理,把文件划分了多个状态。一些不需要归于Git管理的文件也可以写忽略文件进行管理。
4.1.文件的状态划分
我们需要对文件进行不同状态的划分,判断是否已经归于Git仓库的管理。
未跟踪(untracked):默认情况下,Git仓库下的文件也没有添加到Git仓库管理中,我们需要通过add命令来操作;可以只添加一个文件,也可以添加所有文件。
git add .