• git 总结


    git是一个开源的分布式版本控制系统。用于高效敏捷的管理大小项目代码。

    什么是分布式和集中式呢:
      集中式 : 代码集中管理,需要上传到中央服务器。每次更新都从中央服务器下载。 (svn)

      分布式 : 每个节点都保存完整的代码,没有中央服务器。节点之间相互推送下载完成代码共享。 (git)

    git的特点:

      *git可以管理各种文件,特别是代码项目,多在unix系统中使用
      *是分布式管理,不同于集中式,这个git和svn的核心区别
      *git可以更好的支持分支,方便多人协同工作
      *git分布式代码更安全,有全球唯一的commit版本号
      *git是开源的系统
      *使用git可以脱网工作,且数据传输速度较快

    Git配置:

      用git config配置 Git,要做的第一件事就是设置名字和邮箱地址:

      一共分层:有系统上的所有用户,有当前用户和当前项目仓库

    $ git config --system user.name "zengsf"
    $ git config --system user.email fengshao@163.com

      配置好了,如果要查看配置内容,想要找到相对应的文件的话,它们分别在/etc/gitconfig, ~/.gitconfig, .git/config中,当然也可以利用命令来查看,git config --list

    git命令:

      git init------初始化仓库,之后会在目录中自动生成.git目录

      git status------查看分支状态,默认是在master中工作

      git add [file]------文件提交到暂存区,如果用*号是提交所有文件,多个文件是用空格分开

      git rm --cached [file]------删除暂存区文件提交记录,用*号表示所有文件

      git commit -m "message"------提交暂存区的文件到本地仓库

      git log,git log --pretty=oneline,git reflog------都是查看日志,只不过还是有点区别

    工作区的命令:

      git diff file------查看当前文件和已提交内容的差别

      git checkout file------从本地仓库恢复文件,一般是误删之后使用

      git mv file dir------将本地文件移动到某个文件夹中

      git rm file------将本体文件删除

      git checkout --file------丢弃工作区的修改

    版本控制命令:

      git reset --hard HEAD^------回到上一个版本,如果想要回到前两个版本,就在HEAD后面用两个^^

      git reset --hard commit_id------回到指定版本,这里用git reflog配合好使用

    标签管理:
      git tag v1.0 [-m "message"]------创建一个位v1.0的标签

      git tag v1.0 commit_id------指定commit_id打标签

      git tag,git show v1.0------前者是列出当前标签,后者是显示标签的具体信息

      git tag -d v1.0------删除标签

      git reset --hard v1.0------前往到v1.0中的标签版本

    临时工作区操作:

      git stash------创建保存临时工作区

      git stash list------查看保存的工作区

      git stash apply stash@{n}------应用哪个工作区

      git stash drop stash@{n}------删除指定的工作区

      git stash clear------清空临时的工作区
    分支操作:
      git branch------查看当前分支,注意前面带*号的分支代表当前正在工作的分支

      git branch [name]------创建新的分支,注意在创建分支前尽量保持当前分支是干净点,减少冲突发生

      git checkout [name]------切换工作分支

      git checkout -b [name]------创建并切换新的分支

      git merge [name]------将某个分支合并到当前分支

      git branch -d [name],git branch -D [name]------删除分支,-D强制删除没有合并的分支

  • 相关阅读:
    P6944[ICPC2018 WF]Gem Island【数学期望,dp】
    YbtOJ森林之和【dp】
    CF809DHitchhiking in the Baltic States【FhqTreap】
    YbtOJ序列计数【组合数学,莫队】
    Loj#2460「POI2010」桥Bridges【网络流,欧拉回路】
    CF802CHeidi and Library(hard)【费用流】
    YbtOJ相似子串【SA,RMQ,二分】
    YbtOJ连通的图【结论,线性基】
    YbtOJ毒瘤染色【LCT】
    go 结构体的实例化方式, 如果结构体的字段类型是:指针,slice,和map的零值都是nil需要先初始化才能使用
  • 原文地址:https://www.cnblogs.com/zengsf/p/9709484.html
Copyright © 2020-2023  润新知