zoukankan      html  css  js  c++  java
  • GIt仓库

    1、把文件提交到版本库:

    2、版本回退:

    3、还原文件操作:

    4、撤销修改:

    5、删除文件:

    6、添加远程库:

    7、从远程库克隆:

    8、创建和合并分支:

    9、解决冲突:

    10、分支管理:

    11、Bug分支:

    12、feature分支:

    13、多人协作:

    开始:

    1. 在电脑中有一个合适的位置创建一个空的文件夹
    2. 通过git init命令将这个文件夹变成Git可管理的仓库

    把文件提交到版本库:

    1. 用git add + 文件名 将这个文件添加到暂存区
    2. git commit -m"" 在暂存区的文件提交到当前的分支。   引号内部是对本次提交的一个说明,要有意义的,这样就能从历史记录中找到改动记录。

      commit可以一次提交很多的文件,所以你可以多次add不同的文件然后再一次行commit。

    版本回退:

      Git仓库中有一个HEAD指针,指向的是当前版本,Git可以在版本的历史之间来回穿梭:git reset --hard commit-id

      穿梭到前面的版本:可以使用git log查看提交日志,方便确定回退到哪一个版本。

      回来未来的版本: 用git reflog查看历史命令

    还原文件操作:

      git checkout -- <filename> 会产生两种情况:1、在你做出修改后还没有添加到暂存区,现在撤销就是回到和版本库一摸一样的状态。 2、添加到了暂存区,又作了修改,现在撤销就是回到添加到暂存区后的状态

      总之就是可以回到最近一次git commit 或git add 时的状态

    撤销修改:

      添加到了暂存区还没有提交,可以使用git reset HEAD <filename>可以把暂存区的修改撤销掉,重新放回到工作区。

    删除文件:

      在文件管理器中可以直接rm <filename>但是这时候工作区和版本库就不一致了

      两个选择:1、确定要从版本库中删除该文件,就用git rm <filename>进行删除, 并且进行git commit。 2、删错了,那么版本库中还是存在的,可以使用git checkout -- <filename>将误删的文件恢复到最新版本。

      删除GitHub上的文件:git rm -r --cached <文件名>  完成这步操作之后还需要将这次操作进行一次commit,然后才能完成删除的整个过程

      git rm用于删除文件,如果文件已经被提交到了版本库,那不必担心误删,但是只会恢复到最新的一次提交,会丢失最近一次提交后修改的内容。

    添加远程库:

    1. 登陆GIthub,创建一个新的仓库
    2. git remote add origin git@github.com:账户名字/仓库名字.git(origin是远程库的名字,轻易不要进行修改)
    3. 将本地库的内容推送到远程库中:git push -u origin master  (将本地的master分支推送到远程的master分支上)

      由于刚开始远程库是空白的,所以第一次推送master时要加上-u,之后Git不但会把本地的master分支上的内容推送到远程新的master分支,还会吧本地和远程连接起来,以后再推送就可以git push origin master

    从远程库克隆:

      git clone git@github.com:账户名/仓库名.git

    创建和合并分支:

      一开始master是一条线,Git用master指向最新提交,再用HEAD来指向master。每次提交master都会迁移一步,随着不断提交,master分支会越来越长。

      创建分支:创建一个dev分支并切换到dev分支:git checkout -b dev 这是将两步合成了一步1、git branch dev:创建dev分支 2、git checkout dev :切换到dev分支

      创建完成分支之后,进行你想要进行的一些修改,然后再切回到master分支

      合并分支:git merge + <分支名>用于合并指定的分支,直接将master指向了dev分支,在完成之后就可以删除dev分支了:git branch -d dev

    解决冲突:

      当Git无法自动合并分支时,必须手动进行合并,解决之后再进行提交,合并完成。(其实就是把Git合并失败的文件手动编辑为我们希望的文件,再进行提交)

      git log --graph --pretty=oneline -abbrev-commit :查看分支合并图

    分支管理:

      Fast Forward模式:这种方式删除分支会丢掉分支信息(Git默认的就是使用的这种方式)  

      如何要禁止Fast Forwar?  Git会在merge时生成一个新的commit,这就可以从历史上看出提交的信息了。

      创建dev分支

      修改文件并提交新的commit

      切回到master(主分支)

      最后进行合并分支git merge --no-ff -m"" dev

      首先master应该是非常稳定的,仅是用来发布最新的版本,每个人都应该拥有属于自己的分支,然后在dev上进行干活。

    Bug分支:

      当出现Bug时,这时候手头上的工作也还没有完成,可以先git stash一下,然后去修改Bug,修复完成后,在git stash pop回到工作现场

    feature分支:

      开发新的功能最好新建一个feature分支。

      如果要丢弃一个没有被合并过的分支,可以用git branch -D <分支名> 来进行强行删除

    多人协作:

      从本地分支推送:git push origin branch-name  如果失败的话可以先git pull 一下抓去远程的最新提交。

      在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name  本地分支最好和远程分支名称保持一致

      建立本地分支和远程分支的关联:git branch --set-upstream branch-name origin/branch-name

      从远程抓取分支,用git pull 如果有冲突按照上面的方法解决冲突

     三.删除本地指定的远程地址:git remote remove origin

  • 相关阅读:
    .netcore返回HellowWorld四种方式(管道配置,管道扩展方法,中间件,IStartupFilter 使用中间件的升级扩展)
    Mysql分页大数据量查询优化
    swagger发布本地的调试的时候没事,发布服务器提示500 : {"Message":"出现错误。"}
    DBeaver的使用(impala和数据库)
    mysql远程连接问题
    java+thymeleaf-layout-dialect+thymeleaf的使用
    springboot+thyemeleaf+swagger项目的创建和问题的解决
    ffmpeg实践
    Camera.main
    python双曲线拟合
  • 原文地址:https://www.cnblogs.com/tulintao/p/11024262.html
Copyright © 2011-2022 走看看