Git学习

Git-分布式版本控制系统

本文根据廖雪峰老师的git教程总结得到。http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  • 安装Git
  • 创建Git仓库
  • 本地仓库
  • 远程仓库
  • 分支管理
  • 标签管理
  • Git服务器搭建

安装Git

  1. Linux:sudo apt-get install git
    Windows:下载安装msysgit
  2. 安装完成后,配置
    git config –global user.name “yourname”
    git config –global user.email “email@example.com”

创建Git仓库

  1. 创建目录          
  2. 将目录转为仓库:终端进入该目录,输入  git init
  3. 添加文件到该目录/子目录下
  4. 添加该文件至仓库            git add 文件名
                        git commit -m “本次提交的说明”

本地仓库

查看 :

git status查看仓库当前状态
git diff 文件名查看修改前后内容变化
git log查看版本修改信息
git reflog查看每次修改
git log –pretty=oneline每个版本修改信息均用一行列出
cat 文件名查看文本内容

回退版本:

git reset –hardHEAD当前版本
HEAD^回退到上个版本
HEAD~100回退到上100个版本
commit id回退到id为commit id的版本

撤销修改:

git checkout – 文件名撤销工作区更改文件的状态至stage状态(若有)或master分支状态
git reset HEAD file撤销stage暂存区内容的修改

删除文件:

rm 文件名删除工作区的文件
git rm 文件名删除版本库中的文件,删除后应git commit -m添加说明
git checkout – 文件名从分支恢复至工作区

远程仓库

github

  1. 在计算机创建SSHkey:ssh-keygen -t rsa -C “youremail@example.com”
  2. 在Github个人设置Accout setting添加SSH key,内容为本地.ssh中id.rsa.pub中内容
  3. 在Github创建仓库
  4. 将本地仓库上传至Github:  git remote add origin Github仓库地址
                  git push -u origin 分支名
    以后上传输入:         git push origin 分支名
  5. 将Github仓库克隆至本地: git clone git@github.com :Github仓库地址(去除https://github.com/,sh)
                或   git clone 仓库地址(https)

分支管理

git branch 分支名创建分支
git checkout 分支名切换分支
git checkout -b分支名创建并切换分支
git branch查看当前分支
git branch -d 分支名删除指定分支
git branch -D 分支名强行删除分支
git merge 分支名合并指定分支至当前分支。合并分支发生冲突时,修改冲突文件,重新提交

通常合并分支时,Git会用fast forward模式,删除分支后会丢失分支信息。可以用–no -ff 强制禁用fast forward模式。此时会生成一个新commit。
        git merge –no -ff -m “本次提交说明”

Bug分支

在当前分支工作未完成时接到修复Bug任务

  1. 保存当前工作现场,git stash,Git把stash内容储存起来
  2. 切换到有Bug的分支
  3. 建立新分支,修复,合并
  4. 切换回1中分支,回复工作现场
git stash apply恢复工作现场,不删除stash内容
git stash drop删除stash内容
git stash pop恢复工作现场,并删除stash内容

Feature分支

多人协作

git remote -v查看远程库详细信息
git push origin 分支名将分支推送至远程库origin

若推送失败:

  1. git pull 抓取远程的最新提交
  2. 合并,解决冲突后提交,再push

在本地创建和远程分支对应的分支,git checkout -b branch-name origin/branch-name;
建立本地分支和远程分支的关联,git branch –set-upstream branch-name origin/branch-name;

标签管理

Git标签实际上是指向某个commit的指针。

  1. 切换到要打标签的分支
  2. git tag 标签名 ,默认为最新提交的commit打标签,可添加commit id指定标签添加对象
    创建带说明的标签: git tag -a 标签名 -m “说明文字” commit id
    用私钥签名标签:  git tag -s 标签名 -m “说明文字” commit id
git tag -d 标签名删除标签
git push origin 标签名推送标签至远程
git push origin -tags推送所有未推送标签至远程
(1) git tag -d 标签名(2) git push origin :refs/tags/标签名删除远程标签(两步)

Git服务器搭建

ubuntu下

  1. 安装Git :sudo apt-get install git
  2. 创建Git账户 :sudo adduser git
  3. 创建证书登陆:将登陆用户公钥导入到/home/git/.ssh/authorized_keys中
  4. 初始化Git库: sudo git -bare Git库名
  5. 禁用Shell登陆:编辑/etc/paddwd,
    找到:
    git:x:1001:1001:,,,:/home/git:/bin/bash
    改为:
    git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
  6. 克隆远程仓库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值