美文网首页
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使用及企业私服的搭建

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