美文网首页
Git使用及企业私服的搭建

Git使用及企业私服的搭建

作者: 已迁至知乎_此不再维护 | 来源:发表于2019-05-21 11:50 被阅读0次

Git是一个分布式的版本管理系统,而SVN是一个远程集中式的版本管理系统。

在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

关于SSH:本地仓库可以生成SSH的秘钥(公钥+私钥),本地Git仓库和远程Git仓库之间的传输是通过SSH加密的,因此需要将公钥配置在远程仓库中。

实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦。好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

客户端安装

  1. linux : yum install git
  2. windows:参见廖雪峰的博客

教程

参见廖雪峰的git教程

常用命令

  • git clone
  • git remote add origin git@github.com:xxx/learngit.git
    • git remote rm origin:删除已有的远程仓库;
  • git push
    • git push -u origin master:由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    • git push origin master
  • git init
  • git add <file/directory>
    • git add -A 添加所有
  • git commit -m <注释>
  • git status
  • git diff
  • git log:提交历史
    • git log --pretty=oneline
    • git log --graph:可以看到分支合并图。
  • git reset
    • git reset --hard HEAD^
    • git reset --hard 1094a
    • git reset HEAD <file>:git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
  • git reflog:命令历史
  • git checkout
    • git checkout -- file:丢弃工作区的修改,让这个文件回到最近一次git commit或git add时的状态。命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令。
  • git rm

  • git checkout -b dev:git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
    • git branch dev
    • git checkout dev
  • git branch:查看当前分支,git branch命令会列出所有分支,当前分支前面会标一个*号。
    • git branch -d dev:删除dev分支了
  • git merge
    • git merge dev:git merge命令用于合并指定分支到当前分支。

  • git tag
    • git tag:查看所有标签
    • git tag v1.0:在当前分支的HEAD上打标签
    • git tag v0.9 f52c633:在当前分支的指定commit上打标签
    • git tag -d v0.1:删除指定标签
  • git push origin <tagname>:推送某个标签到远程
    • git push origin --tags:一次性推送全部尚未推送到远程的本地标签

Gogs

企业git私服使用Gogs搭建,其简单易用完档齐全、国际化做的相当不错。Gogs官网下载压缩包,解压之后直接安装:

Linux的安装

  1. 前台运行 ./gogs web
  2. 后台运行 $nohup ./gogs web &
  3. 邮件配置
  4. 定时备份与恢复
  5. 客户端公钥配置及添加

Windows的安装

  1. Gogs在Windows的安装及服务化

相关文章

  • Git使用及企业私服的搭建

    Git是一个分布式的版本管理系统,而SVN是一个远程集中式的版本管理系统。 在Git中,用HEAD表示当前版本,也...

  • GIT实战

    git实战 git与svn的区别 git核心命令使用 git底层实现原理剖析 基于git通信协议搭建git私服 基...

  • 私服搭建及使用

    一、私服环境搭建及配置 1、docker search nexus 2、docker pull sonatype/...

  • Maven私服搭建及使用

    涉及到Maven私有部署搭建的一般都为公司开发的项目比较多,各项目之间有共同的功能部分,比如一些工具类,统一的导航...

  • flutter组件 私有化使用的方案探究

    方案1 搭建pub私有服务,依赖库发布到pub私服上 搭建pub私服 使用 https://github.com/...

  • 使用Docker + Gogs搭建git私服

    Gogs[https://gogs.io/]是一款极易搭建的自助Git服务。接下来我们会使用Docker来搭建Go...

  • git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能...

  • CICD搭建之 docker私服搭建

    在开发中搭建cicd时docker私服是必不可少的,这里记录一下笔者的私服搭建过程 版本及说明registry是d...

  • 44.SVN、Git版本控制服务器

    一、安装SVN 服务SVN启动及创建测试代码 二、搭建GIT服务器及使用

  • Maven使用及Nexus私服的搭建

    菜鸟Maven Maven主要帮助开发者完成依赖、构建、发布等工作,声名文件是项目或各模块内的pom.xml。 M...

网友评论

      本文标题:Git使用及企业私服的搭建

      本文链接:https://www.haomeiwen.com/subject/dkldzqtx.html