K-BOlG K-BOlG
Home
  • 前端
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • 技术
  • Vue3入门
  • TypeScript入门
  • Jenkins-Nginx
  • UI
  • 文本超出隐藏解决
  • 收藏
  • 实用网站
  • 资源库
  • Vue专区
  • 你知道的越多,不知道的也就越多
  • 拥抱生活,拥抱快乐
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

nengkai

大道至简-知易行难
Home
  • 前端
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • 技术
  • Vue3入门
  • TypeScript入门
  • Jenkins-Nginx
  • UI
  • 文本超出隐藏解决
  • 收藏
  • 实用网站
  • 资源库
  • Vue专区
  • 你知道的越多,不知道的也就越多
  • 拥抱生活,拥抱快乐
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 目录页

  • 前端

    • Http

    • Ajax

    • Node

    • MongoDB

    • Axios

    • Git

      • git
        • 一、常用命令:
        • 二. GitHub远程仓库的使用
          • 场景一(关联):本地有仓库,要和远程仓库做关联
          • 场景二(推送):本地有仓库有内容,要推送给远程库
          • 场景三(拉取):本地有仓库有内容,获取远程库新内容
          • 场景四(克隆):本地无仓库,要获取一个完整的远程库
    • Webpack

    • React

    • Vue

    • Uni-app

    • 性能优化

    • 移动端

  • 技术

  • UI

  • 收藏

  • 随笔

  • 关于

  • views
  • 前端
  • Git
nengkai
2021-03-17
目录

git

# 一、常用命令:

  • mkdir XX:创建一个空目录 XX 指目录名
  • pwd:显示当前目录的路径
  • cat xx:查看 xx 文件内容
  • git init:把当前的目录变成可以管理的 git 仓库,生成隐藏的.git 文件夹
  • git add xx:把 xx 文件添加到暂存区
  • git commit -m “xx”:提交文件 -m 后面的是注释,必须写!
  • git status:查看仓库状态
  • git log:查看历史记录
  • git reset --hard HEAD^:往上回退一个版本
  • git reflog:查看历史记录的版本号 id
  • git checkout -- xx:把 xx 文件在工作区的修改全部撤销
  • git rm xx:删除 xx 文件
  • git remote add origin https://github.com/xxxxx/a.git 关联一个远程库
  • git push -u(第一次尽量加上 - u,以后不用)origin master:把当前 master 分支推送到远程库
  • git clone https://github.com/xxxxx 从远程库中克隆
  • git checkout -b dev:创建 dev 分支 并切换到 dev 分支上
  • git branch:查看当前所有的分支
  • git checkout master:切换回 master 分支
  • git merge dev:在当前分支合并 dev 分支
  • git branch -d dev:删除 dev 分支
  • git branch xxx:创建分支 xxx
  • git remote:查看远程库信息
  • git remote -v 查看远程库的详细信息
  • git pull origin master 将远程库的更新拉取到本地并自动合并
  • git push origin master:git 会把 master 分支推送到远程库对应的分支上

# 二. GitHub 远程仓库的使用

# 场景一(关联):本地有仓库,要和远程仓库做关联

  • git init
  • git add .
  • git commit -m “first commit”
  • 在 GitHub 上创建一个远程仓库
  • git remote add origin https://github.com/xpromise/oa.git (HTTPS)
  • 备注:如果此步关联错了,解决办法如下。
  • 暴力解决:删除.git 文件夹,重新建立本地仓库。
  • 优雅解决:git remote remove origin,再在重新关联仓库

# 场景二(推送):本地有仓库有内容,要推送给远程库

  • git push -u origin master (首次加 - u)
  • 根据提示输入用户名密码
  • 我们第一次推送 master 分支时,加上了 - u 参数,Git 不但会把本地的 master 分支内容推送到远程新的 master 分支,还会把本地 master 分支和远程的 master 分支关联起来,在以后的推送时可以简化命令 git push origin master。
  • 备注:正常情况下,成功推送一次后,电脑会记住和账号与密码,下次推送时不会再提示输入。若在电脑不能够自动记住 github 的账户和密码,需执行以下命令解决:git config --global credential.helper store

# 场景三(拉取):本地有仓库有内容,获取远程库新内容

  • 第一种拉取方式:git pull origin master,

    将远程仓库的 master 分支上代码版本复制 / 合并到本地 master 分支上

  • 第二种拉取方式:git fetch origin master:tmp

    新建一个 tmp 分支,将远程仓库的 master 分支上代码版本复制到 tmp 分支上,不会自动合并。

# 场景四(克隆):本地无仓库,要获取一个完整的远程库

备注:只在第一次获取远程库时才需要克隆

  • git clone https://github.com/xxx.git (HTTPS)

git pull --rebase origin master1. 高频命令
git add
将工作文件修改提交到本地暂存区。

git add .
将所有修改过的工作文件提交暂存区(常用)。

git commit -m "XXX"
为本次修改打一个 tag,当然此条命令通常跟在 git add 后使用。每次 commit 都会有一个对应的 tag,当打包发布时,往往我们会打对应 tag 的版本。所以 tag 是一次有意义记录,它是和某次 git commit 绑定对应的。

git push origin branch_name
将本地 branch_name 分支推到远程 branch_name 分支。

git branch -d branch_name
删除本地分支 branch_name(注意:删除本地分支时,当前所处分支不能是要删除的该本地分支)。

git branch -D branch_name
强制删除本地分支 branch_name(如果 branch_name 分支当前修改的内容没有暂存,那么只有强制删除有效)。

git push origin --delete branch_name
删除服务器端分支 branch_name。

git pull origin branch_name
拉取服务器端 branch_name 分支的内容并合并到本地 branch_name 分支(一般来说,多人共用一个分支时,如果你有需要提交到服务器的内容,则要先用此命令更新本地分支的内容,然后再将新的内容提交到服务器)。

git fetch origin branch_name
拉取服务器端 branch_name 分支的内容,但不合并。此操作一般是不确定远端代码是否存在问题,为保险起见,可先拉取到本地查看,确认无误后,和合并此代码到本地的对应分支下。

git merge origin/branch_name 合并当前分支到主分支 git merge 当前分支名 再推送即可
将服务器端 branch_name 分支合并到本地当前分支下。

git merge branch_name
将本地 branch_name 分支合并到本地当前分支下。

git checkout -b branch_name origin/branch_name
如果本地没有 branch_name 分支,想要基于服务器端 branch_name 分支创建一个,但又不想影响到本地的当前分支。可以使用此命令进行本地 branch_name 分支的创建。

git branch
查看本地存在分支。

git branch -a
查看所有本地关联到的分支(远端分支也能打印出来,但是关联如果没有建立,那么是不会显示的,此时我们可以使用 git fetch 拉下来所有分支。)。

git status
查看当前分支的状态,一般合并分支代码后,用于检查是否有冲突。

git reset --hard
回退到 commit id 提交的版本,仅对已经 commit 到本地的代码有效

git checkout
该命令是对未提交到缓存区的代码进行撤销。例如本地修改代码之后,在没有执行 git add 命令之前又想撤销操作,可以执行该命令。

git reset HEAD --
该命令是将放入暂存区的代码进行撤销,放入到工作区中。

git config user.name "提交者的名称"
配置当前仓库下提交者的名称。

git config user.email "邮箱"
配置当前仓库下提交者的邮箱。

git config --global user.name "用户名"
配置全局提交者的名称。

git config --global user.email "邮箱"
配置全局提交者的邮箱。

git config --global --list
查看我们的配置

  1. git merge 和 git rebase
    git merge 和 git rebase 使用场景

git merge 一般用于新功能的开发和 bug 修复;
git rebase 在主分支上进行开发,或者 Pull 的冲突解决;
git merge 主要是在主分支上进行使用,而 git rebase 是在从分支上进行使用。
git merge 和 git rebase 区别:

git merge 会生成新的 commit ,而 git rebase 不会生成新的 commit ,会保留比较完整的提交历史。
git merge 是按照时间顺序进行合并,而 git rebase 是将 主分支顺序不变,插入到从分支的前端。
git rebase 注意事项: 如果分支已经 Push 到了远程仓库就不要对该分支进行 git rebase 操作。如果已经提交到了远程分支再进行 Push 的时候容易出现冲突,我们可以采用 git push --force ,但是最好是永远不要使用这个命令。

// 查看本地仓库配置
git config --local --list

// 如果有本地与远程关联,保留 (多仓库关联)/ 不保留,看实际需要
// 此处我选择不保留,即单仓库关联
git remote remove origin

// 添加本地仓库与远程仓库关联
git remote add origin XXX.git

// 强制推送到远程仓库,且覆盖远程代码库
git push -f --set-upstream origin master:master

# 本地 master 分支关联远程 origin/master 分支

# 方式一

git branch --set-upstream-to=origin/master master

# 方式二 (弃用)

git branch --set-upstream master origin/master

# 方式三

git branch -u origin/master master

$ git config --global --replace-all user.name “要修改的用户名”

$ git config --global --replace-all user.email"要修改的邮箱"

$ git config --global --replace-all user.password “要修改的密码”

查看修改完后的用户名:

$ git config user.name

查看修改完后的邮箱:

$ git config user.email

查看修改完后的密码:

$ git config user.password

由于提供的证书是内部签发,客户端需要执行:

git config --global http.sslVerify false 否则会提示:SSL certificate problem: self signed certificate

然后再 idea 中拉取代码。就会提示输入用户名和密码

github 无法访问
C:\Windows\System32\drivers\etc 这下面改 hosts
#github
192.30.253.113 github.com
192.30.253.113 github.com
192.30.253.118 gist.github.com
192.30.253.119 gist.github.com

编辑 (opens new window)
上次更新: 5/26/2022, 9:20:36 AM
测试
webpack-npm环境搭建

← 测试 webpack-npm环境搭建→

最近更新
01
前端常用设计模式
04-01
02
谷歌调试快捷键
06-23
03
JS设计模式
06-02
更多文章>
Theme by Vdoing | Copyright © 2022-2023
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式