Git本地仓库的使用

星空下的程序猿 2020-01-10

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 完整命令手册地址:http://git-scm.com/docs

PDF 版命令手册:github-git-cheat-sheet.pdf

一、前往官网下载安装Git

https://git-scm.com/

二、配置Git

初次运行Git前需要进行配置,配置工作只需一次,以后会沿用现在的配置,如果需要修改用相同的命令修改已有配置即可。

Git是分布式版本控制系统,所以每个设备需要自报家门:名字和Email地址。

这两条配置很重要,每次Git提交都会引用这两条信息,随更新内容永久纳入历史记录。

打开终端,进行如下配置:

git config --global user.name ‘用户名称‘
git config --global user.email ‘登录邮箱‘

三、创建版本库(用来保存我们项目中所有的文件)

1.在合适的位置创建一个空文件夹(这里我在桌面创建一个test文件夹,也就是工作区)

2.在命令行工具中进入该文件夹,执行 git init 命令

Git本地仓库的使用

文件夹内生成一个隐藏文件.git,未设置显示的话看不见该文件,这个.git就是我们的本地仓库。

后续如果需要提交文件至本地仓库,也需要文件在工作区内(也就是这里创建的test文件夹内)

四、添加文件至暂存区

如果想将工作区的文件提交至Git仓库,需要执行 git add 文件夹名(例如git add index.tet),将文件提交至暂存区。

Git本地仓库的使用

如果没有任何提示说明则说明添加成功,该命令可多次执行,用于添加多个文件至暂存区。

 五、提交文件至仓库

添加至暂存区完成后,执行 git commit -m "提交说明信息" 将暂存区所有文件提交至仓库。

Git本地仓库的使用

六、查看工作区文件状态

git status 命令用来查看工作区文件状态。

当所有文件已提交时:

Git本地仓库的使用

“nothing to commit”指没有文件提交。

当我们修改工作区index.txt文件,在里面写个“hello world”时再执行git status命令:

Git本地仓库的使用

   “changes not staged for commit”指有修改未提交。

git commit –am “本次提交描述” git commit –a –m“本次提交描述” 命令是指已经经历过git add 的文件无需再次执行 git add 命令,而直接将文件提交至Git。

七、查看当前文件修改内容

git diff 文件名,查看文件修改内容

Git本地仓库的使用

八、文件的删除和恢复

1.工作区的文件删除后的恢复

(可执行git status查看被删除文件),执行 git checkout --文件名 从仓库中恢复,如果工作区该删除文件内容作出过改动,恢复的文件也只是文件之前提交时的状态,如果暂存区有该文件则恢复的是暂存区该文件,否则从Git恢复该文件。

2.如果需要删除仓库某文件,可以在工作区删除该文件后执行git add和commit命令重新提交

3.Git每一次提交修改都是一个新的版本,如果Git文件误删就需要版本回退,回退可能引起更多的问题存在,所以删除文件需要谨慎操作。

  回退参考:https://www.cnblogs.com/revel171226/p/11360844.html

  git log 命令可以查看各个历史版本记录。

  Git本地仓库的使用

  回退到上一个版本:git reset --hard HEAD~1,数字代表回退的版本数,版本太多时可以执行git reset --hard commit id(例如git reset --hard 474a919c22232707d50c8f11d89981be9c08ceb6)

    commit id在执行git log命令时会显示:

  Git本地仓库的使用

相关推荐