博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git 问题集锦
阅读量:2060 次
发布时间:2019-04-29

本文共 2387 字,大约阅读时间需要 7 分钟。

  • 如何将本地项目推送至远程仓库?

  1. 项目根路径下鼠标右单击,选择“Git Base Here“;
  2. 在命令窗口中输入:
    git init
  3. 添加需提交的文件:
    git add . #.表示路径下的所有文件,也可使用文件夹名称或文件后缀,如.idea、target、*.iml等
  4. 提交至暂存区
    git commit -m "这里填写本地修改的注释内容"
  5. 关联远程仓库:
    git remote add origin [这里是git仓库地址]
  6. 将当前分支关联到远程master分支
    git branch --set-upstream-to=origin/master master
  7. 拉取远程仓库内容:
    git pull
  8. 提交修改:
    git push
  • 如何将项目push到多个远程仓库?

  1. 方法一:打开每个项目的.git文件夹下的config文件(windows请务必打开隐藏文件展示,打开姿势自行百度)

    [remote "origin"]	url = 远程仓库1	fetch = +refs/heads/*:refs/remotes/origin/*[remote "远程参考2名称"]	url = 远程仓库2	fetch = +refs/heads/*:refs/remotes/origin/*

    或者使用命令行

    git remote add gitee  你的gitee项目地址

    该种方式可选择任一参考进行pull操作

  2. 方法二:
    [remote "origin"]    url = 原有的git项目地址    fetch = +refs/heads/*:refs/remotes/origin/*    url = 新增的gitee项目地址

    或者使用命令行

    git remote set-url --add origin 你的gitee项目地址

    该种方式默认只能对第一个远程仓库进行pull操作

  3. 查看远程仓库

    git remote

     

  • 如何添加忽略文件?

  1. 本地仓库忽略

    本地仓库的文件忽略规则可以在 .git/info/exclude 文件中添加. 对当前这个仓库下的所有文件起作用. 这些忽略的文件不会提交到共享库中, 因而不会被协作者所共享. 规则如下(更多规则可以参考shell的正则表达式):

    *.[oa] # 忽略以 o 或 a 为拓展名的文件*~*.exe.* # 忽略所有以 . 开头的文件test.cpp # 忽略这个文件/test/ # 忽略 **根目录** 下的 test 文件夹里面所有的内容
  2. 当前工作目录添加文件忽略

    对于每一级工作目录, 创建一个.gitignore文件, 向该文件中添加要忽略的文件或目录. 规则同上

  3. 全局忽略

    不需要在每一个仓库中添加 .gitignore 文件或者修改 exclude文件(毕竟在.git文件里乱动可能项目就没了), 只需要在用户账户文件夹下建立.gitignore_global文件就可以忽略我们想忽略的内容, 步骤如下:
    (1)在git bash下执行命令 git config --global core.excludesfile ~/.gitignore_global, 然后你会发现, ~/.gitconfig 文件里多了一行;
    (2)创建 .gitignore_global 文件, 在里面写上规则就好了;

  • 如何将已push到远程仓库的文件删除(如开发环境配置文件)但本地不删除?

git rm -r --cached .vscode # 将文件或文件夹从暂存区中删除,如.idea、*.iml等git commit -m 'delete .vscode config' # 将修改后的暂存区合并到HEAD中git push origin master # 推到远端
  • 如何将想要忽略掉的文件的相关记录清理掉?

删除暂存区的文件, 同时删除本地的文件

git rm file_name # 删除本地文件, 同时也从暂存区中删除git commit -m "delete" # 合并到HEAD中git push origin master

提交删除记录

git add -Agit commit -m "delete"git push origin master
  • 如何将master的代码更新到branch上?

git checkout master git pull git checkout devgit merge master git push -u origin dev
  • 如何将branch的代码合并到 master ?

git checkout devgit pullgit checkout mastergit merge devgit push -u origin master
  • 如何强制用远程仓库覆盖本地代码?

    git fetch --all # 拉取所有更新,不同步git reset --hard origin/master #本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件);git pull #再更新一次(其实也可以不用,第二步命令做过了其实)

    或者直接拼接成一行执行

    git fetch --all && git reset --hard origin/master && git pull

     

  • 如何回滚代码?

  1. 首先找到你需要回滚的版本号,可以通过日志查看
    git log -3 #-3表示只显示最后3条提交记录,记录按时间降序排列

  2. 选择上图红色框框圈起来的执行的commit版本号
    git reset --hard f3eb8f9df34dc6ba47e477e05c8772a62d653fbb

     

  3. 强制性push到远程仓库
    git push -f origin master

     

  •  

转载地址:http://gpllf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《每日一题》20200621 124.二叉树的最大路径和
查看>>
Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配
查看>>
Leetcode C++《每日一题》20200625 139. 单词拆分
查看>>
Leetcode C++《每日一题》20200626 338. 比特位计数
查看>>
Leetcode C++ 《拓扑排序-1》20200626 207.课程表
查看>>
Go语言学习Part1:包、变量和函数
查看>>
Go语言学习Part2:流程控制语句:for、if、else、switch 和 defer
查看>>
Go语言学习Part3:struct、slice和映射
查看>>
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
Leetcode C++ 剑指 Offer 09. 用两个栈实现队列
查看>>
Leetcode C++《每日一题》20200707 112. 路径总和
查看>>
云原生 第十一章 应用健康
查看>>
Leetcode C++ 《第202场周赛》
查看>>
云原生 第十二章 可观测性:监控与日志
查看>>
Leetcode C++ 《第203场周赛》
查看>>
云原生 第十三章 Kubernetes网络概念及策略控制
查看>>
《redis设计与实现》 第一部分:数据结构与对象 || 读书笔记
查看>>
《redis设计与实现》 第二部分(第9-11章):单机数据库的实现
查看>>
算法工程师 面经2019年5月
查看>>