Git branch && Git checkout && 提交代码 && Git clone && 版本回退 && 撤销修改 && 删除文件

git branch 和 git checkout经常在一起使用,所以在此将它们合在一起

  1.Git branch

    一般用于分支的操作,比如创建分支,查看分支等等,

    1.1 git branch

      不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记

    1.2 git branch -r

      查看远程版本库分支列表

    1.3 git branch -a

      查看所有分支列表,包括本地和远程

    1.4 git branch dev

      创建名为dev的分支,创建分支时需要是最新的环境,创建分支但依然停留在当前分支

    1.5 git branch -d dev

             删除dev分支,如果在分支中有一些未merge的提交,那么会删除分支失败,此时可以使用 git branch -D dev:强制删除dev分支

    1.6 git branch -vv 

      可以查看本地分支对应的远程分支

              例:

                  $ git branch -vv
                     * develop c23f1eb [origin/develop] test
                        master  d540b99 [origin/master] test

    1.7 git branch -m oldName newName

      给分支重命名

  2. Git checkout

    1. 操作文件  2. 操作分支

    2.1 操作文件

      2.1.1 git checkout filename 放弃单个文件的修改  

                                一种是file自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

                                一种是file已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

                                总之,就是让这个文件回到最近一次git commit或git add时的状态。

      2.1.2.1  git checkout .  放弃该目录下的所有修改(未使用 git add 缓存代码时)

                     2.1.2.2  git reset HEAD .  放弃该目录下的所有修改(已经使用了  git add 缓存了代码),在操作git checkout .

                     2.1.2.3  git reset --hard HEAD^  放弃该目录下的所有修改,回退到上一次commit的状态(已经用 git commit  提交了                                                                          代码)。或者用git reset --hard  commitid  回退到任意版本

    2.2 操作分支

      2.2.1 git checkout master 将分支切换到master

      2.2.2 git checkout -b master 如果master分支存在则只切换分支,若不存在则创建并切换到master分支。

    2.3 查看帮助

      git checkout --help

  

       3. 提交代码

    3.1  git status  查看工作区代码相对于暂存区的差别(即本地代码修改情况)

    3.2  git add .   将当前目录下修改的所有代码从工作区添加到暂存区   . 代表当前目录

               3.3  git commit -m “备注”  将暂存区内容提交到当前分支

               3.4  git push origin develop:develop 将本地develop分支的版本库推送到远程服务器develop分支上 (origin是远程主机,develop:develop=本地分支名:远程分支名)

    Git的工作区、暂存区和版本库之间的区别和联系                         

    https://www.cnblogs.com/zhangyinhua/p/8099185.html

        4. Git clone 

                4.1 git clone -b 分支名  <版本库的网址>   克隆远程代码库中某个项目的某分支的代码到本地

                   git clone <版本库的网址>    克隆远程代码库中某个项目的master分支的代码到本地

        5. 版本回退

                5.1  git log   查看提交commit历史,以便确定要回退到哪个版本

             5.2   git reset  commit_id  版本回退到该commit_id提交的版本,不删除本地修改的代码

                        git reset --mixed:此为默认方式,不带任何参数的git reset,即这种方式,它回退到某个版本,只保留源码,回    退commit和index信息
                       git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接     commit即可
                       git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容(恢复本地修改的代码需要借助git  reflog找到想回退的commit_id)

                5.3  git reflog  查看命令历史(reflog会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,都会被记录在reflog中)

       6. 撤销修改

                6.1  commit撤销

                     git reset HEAD~  或者  git reset HEAD~1  撤销上一次的commit

                     (修改HEAD~之后的数字,如撤销前3次的commit。git reset HEAD~3)

               6.2   文件撤销

                    6.2.1.git reset  HEAD <file> 指的是从库里恢复暂存区某一个文件,如果不写 <file>的话,就是把文件恢复到和最新  的库一样的状态(参考6.1)。

                    6.2.2. 参考2.1.1

       7. 删除文件

                7.1  git rm file  当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用git rm
                       git rm file = rm file+ git add file
                       rm file删除本地文件
                       git add file 提交删除的步骤同步到git仓库

                       git rm file后在git commit就从版本库中删除了

                 7.2 git rm --cached file  当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制,    可以使用 git rm --cached
                       git rm --cached 会从index里面删除该文件,下次commit的时候会修改git仓库,但是本地的文件还是保留

 参考链接:

1.廖雪峰       https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743858312764dca7ad6d0754f76aa562e3789478044000

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值