美文网首页
Git学习笔记(一)

Git学习笔记(一)

作者: CoderAPang | 来源:发表于2019-12-19 15:06 被阅读0次

    一、git的工作流程

    工作流程.jpg

    workspace:工作区
    index:暂存区
    repository:仓库区
    remote:远程仓库

    二、git和svn的区别

    SVN的版本库在中央服务器上,必须联网(互联网或者局域网)工作,修改代码都推送到中央服务器上。适合在局域网的开发缓解。
    Git是分布式版本控制系统,每个人的电脑都是一个完整的版本库,工作不用联网,修改之后互相推送修改的代码给对方。

    三、安装git

    四、安装完成后的配置

    配置用户名和邮箱:
    git config --global user.name "zhangsan"
    git config --global user.email "zhangsan@qq.com"

    五、常用操作

    1、新建版本库(仓库)

    在根目录下输入git init命令,把这个目录变成git可以管理的仓库。此时文件夹中多出一个.git文件夹(可能隐藏),用于git版本管理。

    2、添加文件到版本暂存区

    git add readme.txt 添加某个文件,read.txt是文件名
    git add . 添加所有修改文件
    没有任何提示说明添加成功

    3、将文件从暂存区提交到仓库

    git status查看当前文件添加提交状态
    git commit -m "提交信息" 提交暂存区的代码,并添加提交信息
    git diff readme.txt查看修改内容

    4、版本回退

    (1)、查看历史记录

    git log查看版本号
    git log -pretty=oneline只显示版本号
    git relog查看所有版本,获得版本号

    (2)、回退

    git reset --hard HEAD^回退到上一个版本
    git reset --hard HEAD^^回退到上两个版本
    git reset --hard HEAD~100回退到上100个版本
    git reset --hard 版本号回退到某个版本

    六、撤销修改

    1、workspace中已修改,还没有add时

    git checkout --readme.txt将workspace中readme.txt文件中没有add过的修改内容全部清掉

    七、删除文件

    直接在workspace中删掉文件,然后commit
    如果误删除了文件,在commit之前,用git checkout --文件名也可以恢复

    八、github远程推送

    1、配置ssh

    创建ssh key
    在本地命令行中输入:
    ssh-keygen -t rsa -C "youremail@example.com"
    然后本地出现 id_rsa和id_rsa.pub两个文件
    然后将公钥配置到github账户上

    2、建立远程仓库

    创建新仓库之后:
    git remote add origin github地址
    git push -u origin master
    至此,在github上就能看到上传代码了,以后用git push origin master就能上传

    3、从远程仓库克隆代码到本地

    在本地文件夹根目录下git clone 项目地址

    九、分支管理

    1、创建切换分支

    git checkout -b 分支名创建并切换分支
    git branch查看当前分支
    git branch 分支名创建分支
    git checkout 分支名切换到某个分支

    2、合并分支

    eg:将dev分支上的内容合并到master分支:
    (1)切换到master分支git checkout master
    (2)合并dev分支修改的内容到master分支git merge dev
    (3)删除dev分支git branch -d dev

    十、分支策略

    主分支master

    主分支master用于稳定发布新版本。创建自己的分支如dev,在上面做代码修改,稳定后在将修改内容merge到master分支

    bug分支

    每一个bug都用一个临时分支来修复,修复完成后,将临时分支删除
    eg:如果当前我们在dev分支上修改代码,接到了一个优先修复bug的任务:
    (1)将当前分支工作现场隐藏git stash
    (2)切换到master分支git checkout master
    (3)创建master的临时分支,并切换到该分支git checkout -b issue-404
    (4)修改并commit之后,切换回master分支
    (5)合并issue-404分支到mastergit merge issue-404
    (6)返回dev分支干活并恢复工作现场
    git checkout dev
    git stash pop

    十一、多人协作

    从远程clone十把远程master分支和本地master分支对应关联起来,远程库默认名称是origin
    git remote查看远程库信息
    git remote -v查看远程库的详细信息
    git push origin 分支名推送到远程分支

    多人协作时,先将项目clone到本地,
    如果是在dev分支上修改,创建远程origin的dev分支到本地来git checkout -b dev origin/dev
    然后将本地dev推送到远程 git push origin dev
    如果推送时出现了冲突,先pull下来,手动修改之后再push
    git branch --set0-upstream dev origin/dev将本地dev分支与远程origin/dev链接
    git pull
    git push origin dev

    相关文章

      网友评论

          本文标题:Git学习笔记(一)

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