分布式版本管理之Git------进阶

文章目录

    • 多人协作
    • 标签管理
    • 使用GitHub以及码云
    • 搭建git服务器

多人协作

克隆远程仓库时,Git自动把本地的master分支与远程的master分支对应起来,远程仓库默认名为origin
查看远程库信息:
  git remote [-v]
推送分支:
  git push origin [master]指定分支
创建远程dev分支:
  git checkout -b dev origin/dev
提交冲突:
  有人提交dev分支后再提交会出现冲突,需要先pull下来合并后再推送
Rebase:
  git rebase 可将提交图变成一条直线,
优点:使我们在查看历史提交的变化时更容易
缺点:本地的分支提交已经被修改过了

标签管理

标签:
  是版本库的快照,但其实就是指向某个commit的指针
创建标签:
  1.切换到需要打标签的分支上 git checkout [master]
  2.打标签 git tag 【v1.0】 -----默认打在最新提交的commit上,
    还可以带说明git tag -a v1.0 -m “说明” [sdf324]//commit_ID
  或者打在之前的commit上:
    1.找到历史提交的commit id : git log --pretty=oneline --abbrev-commit
    2.git tag v2.34 [fs234ad]
查看所有标签:
  git tag ----按字母顺序排序
查看标签信息:
  git show [tagname]
删除标签:
  创建的标签都只存储在本地,不会自动推送到远程,可以在本地安全删除 git tag -d v1.0
删除远程标签:
  1.先删除本地 git tag -d v1.0
  2.远程删除 git push origin :refs/tags/v1.0
推送标签:
  git push origin tagname 一次性推送尚未推送到远程的本地标签 git push origin --tags

使用GitHub以及码云

上传SSH公钥:
  .ssh/id_rsa.pub
创建项目
本地关联码云:
  git remote add origin [email protected]:youname/ckname.git
删除关联远程库:
  git remote rm [origin] 关联时指定的名字
同时关联GitHub和码云:
  1.删除当前关联 git remote rm origin
  2.关联GitHub git remote add github [email protected]:hn9527/learngit.git --注意名字改为github
  3.关联码云 git remote add gitee [email protected]:hn9527/learngit.git --注意名字改为gitee
  4.推送时注意名字 git push github master 或 git push gitee master

搭建git服务器

用于不想公开源代码,又不想交保护费
1.安装git
  sudo apt-get install git
2.创建git用户
  sudo adduser git
3.创建证书登陆:
  收集需要登陆的用户的公钥即id_rsa.pub文件,
  导入到/home/git/.ssh/authorized_keys文件中,一行一个
4.初始化git仓库
  选定一个目录作为Git仓库,假定为/srv/sample.git ,
  在此目录下输入命令:sudo git init --bare sample.git
  修改owner为git;sudo chown -R git:git sample.git
5.禁用shell登陆
  修改/etc/passwd文件中
  git: :1001:1001:…:/home/git:/bin/bash
  为
  git: :1001:1001:…:/home/git:/usr/bin/git-shell
6.克隆远程仓库:
  各个用户克隆:
    git clone git@server:/srv/sample.git
更多详细内容@https://www.liaoxuefeng.com/wiki/896043488029600

你可能感兴趣的:(Git,and,SVN)