• Python 18 Git&Github


    一、git基本操作

    1、进入文件夹,初始化git

    git init

    2、提交要管理的版本

    git add .      #添加当前目录下所有文件到版本库
    git commit -m '第一次提交'       #提交到版本库,并写上版本说明

    Git把管理的问价分为了两个区域:工作区和版本库

    工作区:当前开发程序所在的目录称为工作区,git会自动检测该区域文件的变化,如果有变化会改变文件的状态,可以用 git status来查看文件状态。

    版本库:工作区检测到有文件发生变化,那么意味着较上一个版本之后对程序进行了修改,修改完成之后,可以当做下一版本进行提交,那么就是执行 【git add .】 将所有文件提交到暂存区,然后再执行【git commit -m '又一个版本'】提交到版本库的分支即可,之后可以使用【git log】命令查看版本记录。

    3、如果想要回到之前某个版本

    首先 git log 查看之前的版本信息

    再 git reset --hard 版本号,回到指定的版本

    4、如果想重新回到版本二

    这个时候使用 git log 只能看到版本一及之前的版本信息,需要使用 git reflog 查看所有的操作记录,再使用 git reset --hard 版本号返回。

     二、stash和branch

    1、git stash可以把当前修改了但是还没有提交的代码保存到某个位置,将文件返回到没有修改时的状态,待修改完bug后,再通过git stash pop 将改完bug的版本和添加了新功能的版本合并。

    2、使用branch分支

     1 MacBook-Pro-4:pondo wupeiqi$ git branch                     # 当前在master分支
     2 * master
     3  
     4  
     5 MacBook-Pro-4:pondo wupeiqi$ git branch dev                 # 创建dev分支用于开发新功能
     6  
     7 MacBook-Pro-4:pondo wupeiqi$ git checkout dev               # 切换到dev分支
     8 Switched to branch 'dev'
     9  
    10 MacBook-Pro-4:pondo wupeiqi$ vim app01/views.py             # 开发新功能到一半,需要紧急修复Bug
    11  
    12 MacBook-Pro-4:pondo wupeiqi$ git add .
    13  
    14 MacBook-Pro-4:pondo wupeiqi$ git commit -m '新功能开发一半'
    15 [dev b3ac2cb] 新功能开发一半
    16  1 file changed, 2 insertions(+)
    17  
    18  
    19  
    20  
    21 MacBook-Pro-4:pondo wupeiqi$ git checkout master            # 切换回master分支
    22 Switched to branch 'master'
    23  
    24 MacBook-Pro-4:pondo wupeiqi$ git branch bug                 # 创建bug分支
    25  
    26 MacBook-Pro-4:pondo wupeiqi$ git checkout bug               # 切换到bug分支
    27 Switched to branch 'bug'
    28  
    29 MacBook-Pro-4:pondo wupeiqi$ vim pondo/settings.py          # 修改bug
    30  
    31 MacBook-Pro-4:pondo wupeiqi$ git add .                      # 提交bug
    32  
    33 MacBook-Pro-4:pondo wupeiqi$ git commit -m '紧急修复bug'      # 提交bug
    34 [bug f42f386] 紧急修复bug
    35  1 file changed, 1 insertion(+), 1 deletion(-)
    36  
    37  
    38 MacBook-Pro-4:pondo wupeiqi$ git checkout master            # 切换会master
    39 Switched to branch 'master'
    40  
    41 MacBook-Pro-4:pondo wupeiqi$ git merge bug                  # 将bug分支内容合并到master分支,表示bug修复完毕,可以上线
    42 Updating 0972f4b..f42f386
    43 Fast-forward
    44  pondo/settings.py | 2 +-
    45  1 file changed, 1 insertion(+), 1 deletion(-)
    46  
    47  
    48  
    49  
    50 MacBook-Pro-4:pondo wupeiqi$ git checkout dev               # 切换到dev分支,继续开发新功能
    51 Switched to branch 'dev'
    52  
    53 MacBook-Pro-4:pondo wupeiqi$ vim app01/views.py             # 继续开发其他一半功能
    54  
    55 MacBook-Pro-4:pondo wupeiqi$ git add .                      # 提交新功能
    56  
    57 MacBook-Pro-4:pondo wupeiqi$ git commit -m '继续开发完成'      # 提交功能
    58 [dev c0bfb27] 继续开发完成
    59  1 file changed, 1 insertion(+)
    60  
    61 MacBook-Pro-4:pondo wupeiqi$ git checkout master            # 切换回master分支
    62 Switched to branch 'master'
    63  
    64 MacBook-Pro-4:pondo wupeiqi$ git merge dev                  # 将dev分支合并到master分支
    65 Merge made by the 'recursive' strategy.
    66  app01/views.py | 3 +++
    67  1 file changed, 3 insertions(+)
    View Code

    branch相关常用命令:

    • git branch 分支名称             创建分支
    • git checkout 分支名称          切换分支
    • git branch -m 分支名称        创建并切换到指定分支
    • git branch                          查看所有分支
    • git branch -d 分支名称         删除分支
    • git merge 分支名称              将指定分支合并到当前分支

    三、git rebase命令

    1、合并多次commit记录

    git rebase -i start end  # 将start到end合并成一次提交记录
    git rebase -i HEAD~2  # 将前两次合并成一次提交记录

    这个命令可以将多次commit的记录合并成一条记录,使得记录变得清晰。

    会出现这样的界面:

    将最后一行的开头改为s即可。

    2、分支合并

    使用git rebase xxx命令来合并分支,可以使git log时不出现分叉的情况。

    四、Github&Gitlab

    • git remote add origin '地址'    与github创建连接
    • git remote rm origin  取消关联
    • git push origin 分支名    将该分支上传到github
    • git clone 地址    将项目拷贝到本地
    • git pull origin 分支名      将分支合并到本地
    • git fetch origin 分支名 + git merge origin/分支名  = pull
  • 相关阅读:
    Charles截获iPhone网络请求
    android小Demo--圆球跟随手指轨迹移动
    《腾讯网UED体验设计之旅》读后感
    eatwhatApp开发实战(十四)
    [Unity2d系列教程] 006.Unity如何根据图片自动生成Animator
    [Unity2d系列教程] 005.Unity如何使用外部触控插件FingerGuesture
    eatwhatApp开发实战(十三)
    微服务平台技术架构
    Istio 流量劫持过程
    Istio 组件常用端口
  • 原文地址:https://www.cnblogs.com/yinwenjie/p/10889640.html
Copyright © 2020-2023  润新知