Git概述

一、常规指令

1.git init 在目录中创建新的本地 Git 仓库(隐藏文件夹.git)

2.git clone

  • git clone url 使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
  • git clone source repository destination repository  复制本地仓库的命令方式。

注意:     

  • source repository:想克隆的本地仓库路径;
  • destination repository:想克隆去另一个地方的路径。目录必须没有在文件系统上创建,或创建了但里面为空,不然会克隆不成功。
  • 与从远程拉取仓库不同,路径的最后不用写 .git 来表明这是一个仓库。

3.git add file(多个文件之间以空格分开) 可将文件添加到缓存

  •   git add -A  提交所有变化(A:all);
  •   git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new),仅监控已经被add的文件(即tracked file)(u:update);
  •   git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件。

4.git status 查看项目的当前状态(所含文件)

  • git status -s 获得简短的结果输出。

5.git diff 显示已写入缓存与已修改但尚未写入缓存的改动的区别

  • git diff 尚未缓存的改动;
  • git diff --cached 查看已缓存的改动;
  • git diff HEAD 查看已缓存的与未缓存的所有改动;
  • git diff --stat 显示摘要而非整个 diff;
  • git diff –cached commit 查看暂存区与指定提交版本的不同,版本可缺省(为HEAD)。
  • git diff commit 查看工作区与指定提交版本的不同。
  • git diff commit..commit 查看2个指定提交版本的不同,其中任一可缺省(为HEAD)。

6.git commit 将缓存区内容添加到仓库中

  • git commit -m “
  • git commit –am "直接提交全部修改,相当于 add 和 commit 一起执行了。

注意:全部文件为 tracked 才行,你新建了文件为 untracked 时,该命令不会执行。

7.git reset HEAD 用于取消已缓存的内容

8.git rm 

  • git rm file 从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交;
  • git rm -f file 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f;
  • git rm --cached file 如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可;
  • git rm –r * 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件,进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录;
  • git rm–rf directory 可删除指定目录下的所有文件和子目录。

9.git mv 用于移动或重命名一个文件、目录、软连接。

  • git mv source destination destination 不为一个目录名,则执行重命名。如果为一个目录名,则执行移动。

10.git checkout 只是替换指定的文件,对多余的文件保留不做任何处理。

11. git reset 是替换整个目录树,多余的文件将被删除。

12.git push -f 表示将目前自己本机的代码库推送到远端,并覆盖。

13.ls 显示当前仓库中的所有文件名称。

14.git log 列出历史提交记录

  • git log --oneline 查看历史记录的简洁的版本
  • git log --oneline --graph 查看历史中什么时候出现了分支、合并。
  • git log --reverse --oneline 逆向显示所有日志。
  • git log --author=XXX 查找指定用户的提交日志可以使用命令
  • git log --oneline --before={3.weeks.ago} --after={2010-04-18} 

15.git tag -a v1.0 为项目发布一个"1.0"版本,给最新一次提交打上(HEAD)"v1.0"的标签。-a 选项意为"创建一个带注解的标签"。

  • git tag -a v0.9 85fc7e7 如果我们忘了给某个提交打标签,又将它发布了,我们可以给它追加标签。
  • git tag

       v0.9

       v1.0

       查看所有标签。

  • git tag -a tagname -m "标签" 指定标签信息。
  • git tag -s tagname -m "标签" PGP签名标签。
  • git tag -d v1.1 删除标签。
  • git show v1.0 查看此版本所修改的内容。

PS

  •  git commit:是将本地修改过的文件提交到本地库中;
  •  git push:是将本地库中的最新信息发送给远程库;
  •  git pull:是从远程获取最新版本到本地,并自动merge;
  •  git fetch:是从远程获取最新版本到本地,不会自动merge;
  •  git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支;

二、分支管理

1.git branch branchname 创建分支

2.git checkout branchname 切换分支

  • git checkout -b branchname 创建新分支并立即切换到该分支下。

3.git merge 合并分支

4.git branch -d branchname 删除分支

三、GitFlow工作流:

  • 主干分支 master 主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境完全一致
  • 开发分支 develop 主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
  • bug修理分支 hotfix 主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。
  • 发布版本分支 release 较大的版本上线前,会从开发分支中分出发布版本分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后可以视情况删除。
  • 功能分支 feature 为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支中独立出来。 开发完成后会合并到开发分支

四、Git宝典:https://git-scm.com/docs

Git命令详解:https://www.yiibai.com/git

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值