git实操

git实操

铁律

  1. 永远不要在主分支上写代码(不要提交到主分支)
  2. 开始和结束一天的工作之前,务必拉取最新代码

准备工作(组长)

主分支:

  1. git init

  2. gitignore (排除不上传的文件)
    add . //本地缓存区

  3. git commit -m ‘描述’ //本地仓库 初始版本

  4. git remote add origin https://gitee.com/uncle9/nz1901.git

    关联远程仓库 ,需要事先创建远端仓库(github|gitee|gitlab)
    远程仓库public 无需密码, private需要
    public可以考虑克隆仓库后把.git替换项目脚手架生成的.git

  5. git push -u origin master //第一次提交远仓库
    git push 以后

        
        开发分支:
            1. git checkout -b 分支名(功能,人名)      // 创建开发分支
               git branch //查看
            2. git checkout 分支名    //切换
               ..........开发........
            3. git add .   //本地缓存区
            4. git commit -m '描述' //本地仓库
            5. git push origin 分支名  //上传本地到远端分支

组员:  永远不要在主分支上写代码(不要提交到主分支)

   1.  git clone 项目地址(主分支|开发分支)        //下载源码 首次
   				之后: git checkout -b 分支名(功能,人名)
       git pull origin 分支|开发分       //之后拉取最新
   2.  cd 项目
   3.  git checkout -b 分支名   // 创建自己的开发分支  如果组长给了分支,可以省略
       ........开发..........
       git pull origin 分支 拉取最新
   4.  git add .
   5.  git commit -m '张三提交了xxx'
   6.  git push origin 分支名    // 上传到自己的分支仓库


合并代码工作 (组长|组员)

   1. git checkout master | 分支     //切换到主|其他分支
   2. git pull origin 分支1   //拉取分支1
      git pull origin 分支2

   ( 保持当前 | 应用最新 | 都保留 | 比较√ )
      ....比较...拍错错....
   3. git add .
   4. git commit -m '合并代码一些描述'
   5. git push origin master | 分支   //提交远端


删除分支文件

    删除暂存区或分支上的文件, 同时删除工作区相应文件
    git rm file_name
    git commit -m "del file"
    git push origin your_branch

删除分支

    删除本地分支
        git branch -D your_branch
    删除远程分支
        git push origin --delete your_branch

添加指定目录下的文件
    config目录下及子目录下所有文件,home目录下的所有.php文件

    git add ./src/component/uc-input/*

放弃工作区某个文件的修改

    从 缓存,本地仓库,远端分支 拉回

    git checkout -- ./src/index.js

版本回滚
    git log --pretty=oneline   查看提交日志
    git reset --hard id 根据 id 回退到指定的版本
    git push origin HEAD --force 推送到本地到远程仓库 强推老代替新
    git reflog 查看命令操作的历史

单文件版本回滚
    git log fileName    查   看文件的修改记录
    git reset id fileName   回退到指定版本  (不在工作区,在缓存区)
    git commit -m “提交的描述信息”
    git checkout fileName   更新到工作区


Q&A

    代码改乱了,想强拉取远端分支
        版本回滚

    代码改好提交不到远端分支
        权限|版本不够新  拉取最新与本地合并再提交

    git log 乱码

        git config --global core.quotepath false
        git config --global gui.encoding utf-8
        git config --global i18n.commit.encoding utf-8
        git config --global i18n.logoutputencoding utf-8

        # bash 环境下
        export LESSCHARSET=utf-8
        # cmd环境下:
        set LESSCHARSET=utf-8     设置环境变量

git 放弃修改,放弃增加文件操作

  1. 本地修改了一些文件 (并没有使用 git add 到暂存区),想放弃修改
  • 单个文件/文件夹:
 git checkout -- filename
  • 所有文件/文件夹:
git checkout .
  1. 本地新增了一些文件 (并没有 git add 到暂存区),想放弃修改
  • 单个文件/文件夹:
git rm  -rf filename
  • 所有文件:
git clean -xdf

删除新增的文件,如果文件已经已经 git add 到暂存区,并不会删除!

  • 所有文件和文件夹:
git clean -xdff

[谨慎操作] 本命令删除新增的文件和文件夹,如果文件已经已经 git add 到暂存区,并不会删除!

  1. 本地修改/新增了一些文件,已经 git add 到暂存区,想放弃修改
  • 单个文件/文件夹:
git reset HEAD filename
  • 所有文件/文件夹:
git reset HEAD .
  1. 本地通过 git add 和 git commit 后,想要撤销此次 commit
  • 撤销 commit, 同时保留该 commit 修改:
git reset commit_id

这个 commit_id 是你想要回到的那个节点,可以通过 git log 查看,可以只选前 6 位。
撤销之后,你所做的已经 commit 的修改还在工作区!

  • 撤销 commit, 同时本地删除该 commit 修改:
git reset --hard commit_id

这个 commit_id 是你想要回到的那个节点,可以通过 git log 查看,可以只选前6位

[谨慎操作] 撤销之后,你所做的已经 commit 的修改将会清除,仍在工作区/暂存区的代码也将会清除!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值