• Git的使用


    学习Git的内容

    工作流程:工作区(本地工作目录)->暂存区->版本库(分支)

    工作区:本地目录

    暂存区:在.git目录中的 stage

    版本库:.git目录
    常用命令

    ​git init 将当前目录变成git可管理的仓库
    git add 本地文件添加到暂存区
    git commit -m "xxxx" 推送至版本库(本地分支 默认master)
    git push 推送至远程版本库(远程分支)
    git push -f origin master 强制推送本地至远程
    git pull 从远程拉取至本地
    git log查看修改历史
    git log --graph 可到分支合并图
    git reset --hard HEAD^ 回退上一个版本 上上个版本即^^ 如数字较大可使用 git reset --hard HEAD~100 进行回退

    git checkout -- filename 可以放弃工作区对此文件的修改 (从暂存区恢复 例 a.txt已修改未add 可以使用此命令丢弃此文件的修改 或者工作区此文件已删除也可使用此命令找回文件)

    git remote add origin https://github.com/xxx/xxx.git

    git push -u origin master 将本地仓库推送至远程 -u参数将本地master和远程master关联 加了参数-u后,以后即可直接用git push 代替git push origin master

    git clone 克隆远程仓库至本地
    git status 可查看是否有未提交文件
    git diff filename 可查看具体改动内容
    git remote -v 查看远程仓库地址
    git stash 保存当前工作状态
    git stash list 查看stash
    git stash apply 恢复存储的状态
    git stash drop 删除
    git stash pop 恢复并删除 相当于上面两条命令(看到这个pop感觉这里就和栈一样,临时保存一些东西)

    git tag v1.0 创建新标签
    git tag 查看标签
    git push origin v1.0 推送某标签至远程
    git push origin --tags 推送所有标签至远程

    分支相关命令

    git checkout -b dev 创建并切换至dev分支 -b参数为创建
    git branch dev 创建分支dev
    git switch -c dev创建并切换
    git switch切换分支
    git checkout dev 切换分支到dev
    git branch 查看当前所在分支
    git merge dev 合并dev分支到当前分支
    git branch -d dev 删除分支
    git checkout -b dev origin/dev 创建远程分支到本地
    git push --set-upstream origin dev 推送分支至远程
    git push origin dev:dev 功能同上 更好记

    基础信息配置

    git config --global user.name "xx" 设置提交代码时的用户名及邮箱
    git config --global user.email "xx@x.x"
    git config --list 显示当前的Git配置
    git config -e [--global] 编辑Git配置文件
    //信息保存在 C:Usersxxx.gitconfig

    开发中常用操作

    本地创建后与远程关联
    

    git init 初始化
    git add . 将所有文件添加到暂存库
    git commit -m "first commit" 提交至本地版本库
    git remote add origin https://github.com/xxx/xxx.git 关联远程
    git push -u origin master 推送至远程 之后不用-u参数 可直接git push
    git push -f 强制推送 使用时需谨慎!!

    从远程克隆
    

    git clone https://github.com/xxx/xxx.git 从远程克隆
    some code....
    git add aa.java bb.java
    git commit -m "modify some file"
    git push origin master (可简化为git push)

    拉取
    

    git pull 从远端拉取至本地

    其他操作
    

    git rm 文件名 删除本地git仓库文件, 提交后远程服务器上的文件才会消失

    分支管理

    创建、切换、合并、删除
    

    git checkout -b dev 创建并切换
    git branch 查看当前
    git push --set-upstream origin dev 推送分支至远程
    git push origin dev:dev 功能同上 更好记
    git checkout master 切换回主分支
    git merge dev 合并dev至主分支
    git branch -d dev 删除dev分支


    新版本可使用git switch -c dev创建并切换
    git switch切换分支

    git merge --no-ff -m "merge with no-ff" dev
    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。

    冲突解决
    

    git merge dev git提示冲突
    CONFLICT (content): Merge conflict in 11.txt
    Automatic merge failed; fix conflicts and then commit the result.
    git status也可看见冲突文件
    修改冲突的文件再提交
    git add 11.txt
    git commit -m "conflict fixed"

    https://www.liaoxuefeng.com/wiki/896043488029600

    https://www.imooc.com/article/20411

  • 相关阅读:
    java扫描文件夹下面的所有文件(递归与非递归实现)
    JAVA8 十大新特性详解
    Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目
    Spring官网下载各版本jar包
    史上最全Java面试题(带全部答案)
    深入JVM对象引用
    23种设计模式全解析
    git difftool和mergetool图形化
    Java技术——你真的了解String类的intern()方法吗
    动手实现一个vue中的模态对话框组件
  • 原文地址:https://www.cnblogs.com/ylkx/p/12996911.html
Copyright © 2020-2023  润新知