git介绍

作者: coloc | 来源:发表于2017-05-03 11:55 被阅读0次

    一种常见的版本控制工具

    获取
    克隆仓库

    git支持以ssh或者http的方式来标识远程仓库

    git clone git@github.com:username/project.git
    git clone https://github.com/username/project
    git clone git@github.com:username/project.git  ~/projects/path   # 将远程仓库克隆到本地指定目录
    

    以上两条命令作用相同,均是将github上的仓库克隆到本地

    拉取远程仓库
    git pull # 拉取远程仓库的更新,并与本地修改合并
    git fetch --all # 获取最新代码到本地,不进行合并操作
    git reset --hard origin/master  # 把HEAD指向最新的版本
    

    在拉取更新时,若直接执行git pull操作,则会将远程更新与本地更新合并,此时本地文件将出现待提交状态,即使本地并未修改

    若仅仅想拉取远程修改并覆盖更新本地的文件,需执行以上fetch及reset命令

    暂存

    在git中,可通过stash子命令将本地修改暂存起来,并在合适时取出来并合并。
    假如项目中遇到类似这种情况:

    当前本地正处于主分支上开发,功能做了一半,尚未提交修改
    被告知线上稳定分支存在bug,急需修复

    此时便可通过git stash命令将本地修改移至暂存区,同时本地切换至稳定分支进行修改bug,并进行提交等操作。
    完成后再切换回主分支,同时通过stash pop或stash apply命令将之前暂存的修改取出来,便可继续之前的开发工作。

    暂存当前修改

    每次暂存都会在暂存区中产生一条暂存记录

    git stash 
    
    查看暂存列表

    列表中每条暂存记录会有一个编号,类似于stash@{x}这种格式

    git stash list 
    
    取出暂存记录

    stash pop 命令取出暂存记录,与当前分支合并,同时该记录会从暂存列表中删除
    stash apply 作用与stash pop,但取出后不会将记录删除,所以可以多次执行

    git stash pop stash@{x}
    git stash apply stash@{x}
    
    删除暂存记录
    git stash drop stash@{0}
    
    提交

    git提交需要两步操作,首先将修改commit到本地仓库,再将本地的提交push到远程仓库,之后才可被其它人下载到。

    查看本地仓库状态
    git status
    

    status子命令显示当前本地仓库的状态。未提交、未加入版本控制、已删除、版本冲突等可通过该命令查看。

    将本地修改加入待提交列表
    git add .  # 将所有本地修改加入版本控制
    git add abc.txt  # 将指定文件的修改加入版本控制
    
    提交本地更改
    git commit -m "提交备注"
    

    在commit时仅仅将修改提交的本地仓库,其它人无法获取到,直到执行push操作,将本地仓库的提交推到远程仓库

    远程仓库
    查看

    远程仓库可以通过remote子命令查看,-v参数可以查看远程仓库具体的指向地址。

    $ git remote
    origin
    $ git remote -v
    origin  git@github.com:username/project.git (fetch)
    origin  git@github.com:username/project.git (push)
    
    删除

    通过remote rm 子命令删除远程仓库

    $ git remote rm origin   # 移除origin远程仓库
    
    添加

    使用remote add子命令添加远程仓库,其中origin无特殊意义,是远程仓库在本地的一个助记简称。

    $ git remote add origin https://github.com/pnnh/chatcpp.git
    
    修改

    使用remote rename子命令修改远程仓库在本地的助记简称。

    $ git remote rename origin master # 将origin仓库重命名为master
    
    详情

    remote show子命令可以查看远程仓库的详情描述,这些信息包括:
    比如查看所有处于跟踪状态中的远端分支,查看运行 git push 时缺省推送的分支是什么,哪些已同步的分支在本地存在,但在远端服务器上已被删除 ,运行 git pull 时将自动合并哪些分支等等。

    $ git remote show origin
    
    推送本地修改
    git push
    # 只推送本地master分支的提交到origin远程仓库,需要先设置本地分支与远程分支的跟踪关系
    git push origin master 
    

    将修改commit到本地仓库时,无法被其它人下载到,版本还保留在本地。此时可通过push子命令将本地修改推送到远程仓库。

    相关文章

      网友评论

          本文标题:git介绍

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