Git
- 简介 :
- Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
- Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
- Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper
- Git工作流程图
Git常用命令
- git init : git初始化
- git config --global user.name “x’x’x” , git config --global user.email “xxx” : git全局配置
- git status: 查看暂存区的状态
- git checkout -b login: 退出当前分支创建并切换到login的分支
- git branch : 显示所有的分支信息
- git branch 分支名:创建一个新分支
- git add . 把所有内容添加到暂存区
- git commit :单独一个窗口书写备注信息
- git commit -m “提交的提示信息”
- git commit --amend :修改提交备注信息
- git log : 查看提交日志
- git log --pretty=short : 查看日志,简短版
- git log -p 文件名:查看某个文件的提交日志(绿色表示新增行,红色表示删除行)
- git reflog: 可查看提交和删除的日志
- git diff: 查看工作区和暂存区的差别
- git diff HEAD: 工作区和本地仓库区别
- git rebase -i: 压缩合并提交
- git checkout –
<file
>: 撤销之前的操作, 恢复到之前的状态 - git reset HEAD: add到暂存区的代码撤销
- git reset --hard <版本号>
- git checkout master: 切换到master分支
- git merge --no --ff login: 把login分支合并到master
- git log --graph: 以图表方式查看分支
- git push: 推送到远端
- git push -u origin login: 把本地子分支推送到远端仓储里边, 同时叫做login保存
- git tag v1: 为最后一次commit设置标签,名字为v1
- git show
<tagname>
: 查看标签对应的版本信息 - git tag -d
<tagname>
: 删除一个标签 - git tag v0.0 7d519: 给commit的哈希码为7到19的那一次commit打上v0.0的标签
- git tag -a v0.1 -m “文件第二次提交” 7d523: 为7d523提交打上v0.1标签并附备注信息
- git tag -s v0.0 -u “laowang” -m “文件的初次建立” 7d519
- git push origin --tags: 把所有的tag提交到远程仓库
Git的安装
-
Git的下载和安装
- Git的下载地址 : Git下载链接!
2. 迅雷下载地址 : https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe
3. 安装傻瓜式安装直接下一步. -
Git客户端安装–TortoiseGit
1. 迅雷下载地址 : https://download.tortoisegit.org/tgit/2.10.0.0/TortoiseGit-2.10.0.2-64bit.msi
2. 安装过程(略 )
使用git管理文件版本
- 创建版本库
- 概念 : 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。由于git是分布式版本管理工具,所以git在不需要联网的情况下也具有完整的版本管理能力。
- GitBash创建
- 创建一个空的文件夹: F:\repository
- 使用命令: git init
- 使用小乌龟创建
- 进入到指定目录
- Git Create repository here
- 添加文件过程
- 新建文件
- 使用小乌龟的add(添加到暂存区)
- 提交到本地仓库
- 书写日志
- 查看本地仓库的内容
- 修改文件内容后,重复3-4即可
- 显示提交日志
- 文件的删除
- 误删 : 删除完,使用小乌龟的还原命令
- 真删 : 直接删除,提交,写日志即可.
- 其他 : 删除仓库中的内容但是保留本地
- 忽略文件上传
忽略文件语法规范
空行或是以 # 开头的行即注释行将被忽略。
可以在前面添加正斜杠 / 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。
可以在后面添加正斜杠 / 来忽略文件夹,例如 build/ 即忽略build文件夹。
可以使用 ! 来否定忽略,即比如在前面用了 *.apk ,然后使用 !a.apk ,则这个a.apk不会被忽略。
* 用来匹配零个或多个字符,如 *.[oa] 忽略所有以".o"或".a"结尾, *~ 忽略所有以 ~ 结尾的文件(这种文件通常被许多编辑器标记为临时文件); [] 用来匹配括号内的任一字符,如 [abc] ,也可以在括号内加连接符,如 [0-9] 匹配0至9的数; ? 用来匹配单个字符。
看了这么多,还是应该来个栗子:
# 忽略 .a 文件
*.a
# 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 文件夹下的所有文件
build/
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
远程仓库
- 在github上创建仓库(github:https://github.com/)
- 连接远程仓库
- 同步通过https配置远端
- 输入账户和密码
- 推送,即可把本地代码推送到远端
- 其它操作
- 克隆
- 拉取
- 解决冲突 :
- 先拉取
- 在冲突文件上单机右键选择“解决冲突”菜单项:
- 再推送
搭建私有Git服务器
- 远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
- 搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:
-
安装git服务环境准备
yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc
-
下载git-2.5.0.tar.gz
- 解压缩
- cd git-2.5.0
- autoconf
- ./configure
- make
- make install
-
添加用户
adduser -r -c 'git version control' -d /home/git -m git
-
设置密码
passwd git
-
切换到git用户
su git
-
创建git仓库
git --bare init /home/git/first
-
连接
- 创建远端 : ssh://192.168.0.155/home/git/repo1
-
分支管理
- 创建合并分支
- 在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
- 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:
2. 创建分支
3. 分支合并 : 先切换到主分支,然后把子分支合并过来,接着提交
IntelliJ IDEA中使用git
- 在Idea中配置git
- 安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。
选择File→Settings打开设置窗口,找到Version Control下的git选项:
- 安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。
- 将工程添加至git
- 创建本地仓库 : 在菜单中选择“vcs”→Import into Version Control→Create Git Repository,把当前项目的上一级作为工作目录
- 将工程添加至本地仓库
- 推送到远程
在github上创建一个仓库然后将本地仓库推送到远程。
在工程上点击右键,选择git→Repository→push,
或者在菜单中选择vcs→git→push
点击“Define remote”链接,配置https形式的URL - 从远程仓库克隆
- 关闭工程后,在idea的欢迎页上有“Check out from version control”下拉框,选择git
- 此处仍然推荐使用htts形式的url,点击“test”按钮后显示连接成功。
点击OK按钮后根据提示将远程仓库克隆下来,然后倒入到idea中。
- 从服务端拉取代码
- 如果需要从服务端同步代码可以使用工具条中的“update”按钮
- 创建分支
- 创建本地仓库 : 在菜单中选择“vcs”→Import into Version Control→Create Git Repository,把当前项目的上一级作为工作目录