什么是git

什么是git

git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

版本仓库

说到Git代码托管平台,首先推荐的是GitHub,好多好的开源项目都来自GitHub,但是GitHub只能新建公开的Git仓库,私有仓库要收费,如果你做的是一个开源项目,可以首选GitHub。

  1. 关于GItHub相信大家都有耳闻,我就不详细介绍了。GitHub地址:https://github.com/
  2. 对于有些人,提到GitHub就会自然的想到Gitlab,Gitlab支持无限的公有项目和私有项目。Gitlab地址:https://about.gitlab.com/
  3. bitbucket免费支持5个开发成员的团队创建无限私有代码托管库。bitbucket地址:https://bitbucket.org/

前面说的都是国外的说几个国内的

  1. 码云代码托管·协作开发平台,开发者超过 300 万,托管项目超过 500万,汇聚几乎所有本土原创开源项目,并于 2016 年推出企业版,提供企业级代码托管服务,成为开发领域领先的 SaaS 服务提供商。 码云地址:https://gitee.com/
  2. Coding 是基于云计算技术的软件开发平台,集项目管理、代码托管、运行空间、质量控制为一体。在云计算时代,Coding推动软件开发的云端化,使开发者能用一个浏览器完成开发的各个环节。coding地址:https://coding.net/

安装git

  1. 官网:https://git-scm.com 下载适合你电脑口味的安装包,但是由于官网在美国,下载速度或许让你等到花都谢了,你可以挂代理,或者找度娘找国内的镜像。
  2. 安装步骤
    • Windows安装步骤看自己看吧度娘吧。
    • 在Mac OS X上安装,推荐使用安装 homebrew,然后通过homebrew安装Git。另一种是安装 xcode,里面已经集成了git。
    • 在Linux and Unix安装直接官网吧,很详细。

git有什么特点呢

  1. 适合分布式开发,每一个个体都可以作为服务器。每一次Clone就是从服务器上pull到了所有的内容,包括版本信息。
  2. 公共服务器压力和数据量都不会太大。
  3. 速度快、灵活,分支之间可以任意切换。
  4. 任意两个开发者之间可以很容易的解决冲突,并且单机上就可以进行分支合并。
  5. 离线工作,不影响本地代码编写,等有网络连接以后可以再上传代码,并且在本地可以根据不同的需要,本地新建自己的分支。

git常用命令

本地

1
git init 【初始化版本库】
1
git add 文件名/.    【把文件添加到版本库】
1
git status 【查看状态】
1
git commit -m '备注'  【将文件提交到仓库】
1
git diff 文件名 【查看文件修改前后的不同之处】
1
git diff HEAD -- 文件名 【查看工作区和版本库某个文件的不同】
1
git log  --pretty=oneline 单行显示 【查看最近到最远的提交日志】
1
git reset --hard HEAD^ 【回退到上一个版本】也就是指针上移一个版本
1
git reset --hard HEAD~100 【回退到上一百个版本】
1
git reset --hard 版本号 【回退到指定版本】 指针指向某个版本库
1
git reflog 【每次操作记录日志】
1
目录下新建.gitignore文件可以让版本库忽略某些文件或文件夹
1
git checkout -- 文件名  【把该文件刚才改过的内容撤销】注意:该内容还没有被提交到暂存区
1
git reset HEAD 文件名 【将添加到暂存区的文件回退到工作区】
1
rm 文件名 【删除工作区域的某个文件】
1
git checkout -- 文件名 【工作区域删除的文件通过版本库恢复】
1
git rm 文件名 【直接删除版本库中的某个文件】 再commit 就直接删除了
1
git add -f 文件名 【强制添加被git忽略的文件】
1
git check-ignore -v 文件名 【检查git为何不添加该文件】
1
git config --global alias.st status 【配置别名】

远端

1
git remote add origin 远端url 【本地添加远端仓库】
1
git push origin 分支名 【本地推送到远端】
1
git clone 远端url 【克隆一个远端的仓库到本地】
1
git checkout -b dev_1 【创建dev_1分支并切换到该分支】
1
git branch 【查看所有分支】
1
git branch 分支名 【创建一个新的分支】
1
git merge 分支名 【把某个分支合并到当前分支】
1
git checkout 分支名 【切换到某个分支】
1
git branch -d 分支名 【删除某个分支】
1
git log --graph 【查看版本库线路图】
1
git merge --no-ff -m '注释' 分支号 【非快速合并会生成一个commit记录】
1
2
git stash 【本次工作区写的内容不想加入暂存区想切换分支去干其他事,
可以把新加入工作区的内容储存隐藏起来】
1
git stash list 【查看隐藏存储的节点】
1
git stash apply 【恢复隐藏存储,但不删除节点】
1
git stash drop 【删除隐藏存储节点】
1
git stash pop 【恢复隐藏存储并删除节点】
1
git stash apply stash@{0} 【恢复某个节点暂存隐藏】
1
git branch -D 分支号 【某个分支未合并删除会不让删除可以大写D强行删除】
1
git remote -v 【查看fetch和push的远端分支】
1
git pull 【获取远端最新的代码】
1
git rebase 【把所有分支提交合成一条线】
1
git tag <tagname> 【给该分支最新一次的提交打个标签】
1
git tag 【查看标签列表】
1
git tag <tagname> 版本号 【给某次提交打个标签】
1
git show 标签号 【查看commit详情】
1
git tag -a <tagname> -m "version 0.1 released" 1094adb  【标签可以备注】
1
git tag -d <tagname> 【删除某个标签名】
1
git push origin <tagname> 【将某个标签推送到远端】
1
git push origin --tags 【将所有标签推送到远端】
1
git push origin :refs/tags/<tagname> 【删除远端的某个标签】

本文标题:什么是git

文章作者:dustlee

发布时间:2019年04月17日 - 21:22:52

最后更新:2019年08月20日 - 09:16:20

原始链接:http://www.dustlee.com/2019/04/17/什么是git/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。