Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 与 SVN 区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:

  • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
  • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
  • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
  • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
  • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

git使用 - 图1

Git 安装配置

在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。
Git 各平台安装包下载地址为:http://git-scm.com/downloads

Windows 平台上安装

在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:
安装包下载地址:https://gitforwindows.org/
官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
在开始菜单里找到”Git”->”Git Bash”,会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。

远程仓库

Github

Git 并不像 SVN 那样有个中心服务器。
目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。
本例使用了 Github 作为远程仓库,你可以先阅读我们的 Github 简明教程。

Git Gitee

国内访问 Github 速度比较慢,很影响我们的使用。
如果你希望体验到 Git 飞一般的速度,可以使用国内的 Git 托管服务——Gitee(gitee.com)
Gitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee 还提供了项目管理、代码托管、
文档管理的服务,5 人以下小团队免费。

gitee使用教程https://www.runoob.com/git/git-gitee.html

Git 服务器搭建

远程仓库使用了 Github,Github 公开的项目是免费的,2019 年开始 Github 私有存储库也可以无限制使用。
这当然我们也可以自己搭建一台 Git 服务器作为私有仓库使用。

参考:https://www.runoob.com/git/git-server.html

idea配置git

https://blog.csdn.net/bing_bg/article/details/106437008

git常用命令

25个每个人都应该知道的Git命令


1、初始化本地Git存储库

git init

2、创建远程存储库的本地副本

git clone ssh://git@github.com/[username]/[repository-name].git

3、检查状态

git status

4、将文件添加到暂存区

git add [file-name.txt]

5、将所有新文件和更改过的文件添加到登台区域

git add -A

6、提交更改

git commit -m “[commit message]”

7、删除文件(或文件夹)

git rm -r [file-name.txt]

8、列出分支(星号表示当前分支)

git branch

9、创建一个新分支

git branch [branch name]

10、删除分支

git branch -d [branch name]

11、创建一个新分支并切换到该分支

git checkout -b [branch name]

12、克隆一个远程分支并切换到该分支

git checkout -b [branch name] origin/[branch name]

13、重命名本地分支

git branch -m [old branch name] [new branch name]

14、切换到分支

git checkout [branch name]

15、将一个分支合并到活动分支中

git merge [branch name]

16、将一个分支合并到一个目标分支

git merge [source branch] [target branch]

17、将更改存储在不合适的工作目录中

git stash

18、删除所有隐藏的条目

git stash clear

19、将分支推送到你的远程存储库

git push origin [branch name]

20、将更改推送到远程存储库

git push

21、将本地存储库更新为最新的提交

git pull

22、从远程存储库中提取更改

git pull origin [branch name]

23、添加一个远程存储库

git remote add origin ssh://git@github.com/[username]/[repository-name].git

24、查看更改

git log

25、合并前预览更改

git diff [source branch] [target branch]