zoukankan      html  css  js  c++  java
  • Git版本号控制

        Git是分布式版本号控制系统。与SVN类似的集中化版本号控制系统相比。集中化版本号控制系统尽管可以令多个团队成员一起协作开发,但有时假设中央server宕机的话,谁也无法在宕机期间提交更新和协同开发。

    甚至有时,中央server磁盘故障,恰巧又没有做备份或备份没及时,那就可能有丢失数据的风险。


        但Git是分布式的版本号控制系统。client不仅仅是提取最新版本号的快照,并且将整个代码仓库镜像复制下来。假设不论什么协同工作用的server发生问题了,也能够用不论什么一个代码仓库来恢复。

    并且在协作server宕机期间,你也能够提交代码到本地仓库,当协作server正常工作后。你再将本地仓库同步到远程仓库。


    安装Git


    Linux系统下通过git命令查看安装情况,假设没有安装能够通过sudo apt-get install git完毕安装。

    安装完毕后。还须要通过进一步设置

    git config --global user.name "name"

    git config --global user.email "email address"


    创建版本号库


    什么是版本号库呢?版本号库又名仓库,英文名repository,你能够简单理解成一个文件夹。这个文件夹里面的全部文件都能够被Git管理起来,每一个文件的改动、删除,Git都能跟踪。以便不论什么时刻都能够追踪历史,或者在将来某个时刻能够“还原”。

    创建一个空文件夹,并在当前文件夹以下使用git init将这个文件夹变成Git能够管理的仓库。

    写好一个文件后能够使用git add filename将文件加入到仓库。

    使用git commit -m "your describe"把文件提交到仓库-m后面的參数用于描写叙述文件的更改情况。以便于每次查看;


    版本号查看


    git status能够实时查看仓库的状态

    git diff filename 能够查看当前文件上一次提交的文件的不同

    git log能够查看版本号的历史记录

    git reflog查看历史命令

    因为在Git中HEAD指向的是当前版本号。因此能够使用git reset --hard commit_id(提交的版本号的ID号或者HEAD^-上一版本号。HEAD^^-上上版本号,HEAD~100上100个版本号)


    版本号回退


    1.当你想丢弃工作区的改动时能够使用git checkout --filename

    2.当改动之后又提交到暂存区时能够使用git reset HEAD filename就回到了1的情况。然后反复1的操作就可以


    删除文件


    git rm filename能够从版本号库中删除文件,并用git commit提交


    远程仓库


    关于配置和克隆请參考廖老师博客点击打开链接


    分支管理


    使用git checkout -b branchname能够创建一个分支并切换到该分支。其相当于命令git branch branchname加上git checkout branchname(用于在分支间切换)

    git branch 能够查看分支,当前分之前会有一个*

    合并某分支到当前分支git merge branchname(高速合并)能够使用git merge --no-ff -m "your describ" branch关掉高速合并。这个时候能够看到以前做过的合并

    删除分支git branch -d branchname

    (当git无法自己主动合并分支时,说明存在冲突这个时候要解决掉冲突然后才干合并)

    git log --graph能够看到分支合并图

    git stash能够暂存当前的工作现场,然后修复bug,再git stash pop回到工作现场

    假设要丢弃一个没有被合并过的分支。能够通过git branch -D filename强行删除


    多人合作


    git remote -v显示具体的远程库信息

    git push origin branchname将本地分支推送到,假设失败用git pull抓取远程的新提交

    git checkout -b branchname origin/branchname在本地创建和远程分支相应的分支

    git branch --set-upstream branchname origin/branchname

    git pull从远程抓取分支







     




  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6949823.html
Copyright © 2011-2022 走看看