git 问题集锦

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

  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 -A
git commit -m "delete"
git push origin master
  • 如何将master的代码更新到branch上?

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

git checkout dev
git pull
git checkout master
git merge dev
git 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

  • fork项目更新

  1.  用git remote查看远程主机状态
    git remote -v 
    git remote add upstream git@github.com:xxx/xxx.git
    git fetch upstream
    git merge upstream/master
    git push 

     

     

  • 如何克隆分支
# 使用Git下载指定分支命令为:git clone -b 分支名 仓库地址 [项目别名]

git clone -b dev git@gitee.com:zhanggq89/iBizEHR.git

# 或者

git clone -b dev git@gitee.com:zhanggq89/iBizEHR.git HRSystem

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值