Henry Henry
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)

Henry

小学生中的前端大佬
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)
  • 技术文档

  • GitHub

    • git 基本指令
      • 下载 git
      • git 管理项目
      • 将本地文件添加到 github
      • 从 github 拉取文件
      • 从 github 克隆文件
      • 提交到分支仓库
      • git 拉取远程分支并创建本地分支
      • 阮一峰关于 git 5 个重要(基本)的指令
      • git 撤销,放弃本地修改 - 上官云清 - 博客园
      • Git 基本命令和 GitFlow 工作流 - myqianlan - 博客园
    • Git 指令记录
    • git 常见问题
    • 如何科学使用 GitHub 服务
    • git 本地分支和远程分支建立映射关系
  • Nodejs

  • Chrome

  • VSCode

  • VSCode 更新文档

  • Other

  • 技术
  • GitHub
Henry
2017-01-20
目录

git 基本指令

git 基本指令

# 下载 git (opens new window)

git

# git 管理项目

  • github:
    • 创建仓库
  • 本地:
    • 设置 github 账号:
    • git config --global user.name "xxx"
    • 设置 github 邮箱:
    • git config --global user.email "yyy"
    • 为项目添加 .gitignore , 并指定要忽略的文件 / 文件夹
    • 为项目添加 README.md 文件
    • 初始化本地仓库
    • git init

git config --global 设置的是全局的用户名和邮箱, 有时候我们需要在某一个 git 库中设置不同的用户名, 如果你不进行配置用户名和邮箱的话, 则会使用全局的, 这个时候是错误的, 正确的做法是针对这个库, 在目录下进行单独配置

$ git config user.name "name"
$ git config user.email "email"
$ git config --list
...
user.name=xxx
user.email=yyy
...
user.name=name
user.email=email
1
2
3
4
5
6
7
8
9

git config --list 查看当前配置, 在当前库下面查看的配置是全局配置 + 当前库的配置, 在上面的输出中可以看到, 上面的 user 信息是全局的, 下面的是这个库单独设置的. 使用的时候会优先使用当前库的配置

# 将本地文件添加到 github

  • 从工作区添加到缓存区:
  • git add *
  • 从缓存区提交到版本区 (本地):
  • git commit -m "xxx"
  • 与 github 远程仓库进行关联:
  • git remote add origin url
  • 将本地版本推送到远程仓库:
  • git push origin master 或者 git push

# 从 github 拉取文件

  • 将远程仓库的更新拉取到本地仓库:
  • git pull origin master 或者 git pull

# 从 github 克隆文件

  • 将远程仓库克隆到本地:
  • git clone url

# 提交到分支仓库

  • 查询本地分支, 当前分支前面会标一个 * 号:
  • git branch
  • 查询远程分支:
  • git branch -r
  • 查询所有分支, 包括本地和远程:
  • git branch -a
  • 创建分支 xxx:
  • git branch xxx
  • 切换到指定分支 xxx:
  • git checkout xxx
  • 创建并切换到 xxx 分支, 相当于前面两步:
  • git checkout -b xxx
  • 将当前分支 push 到远程的 xxx 分支:
  • git push origin xxx
    • 远程没有分支名会自动创建
  • 克隆某一个指定分支 xxx:
  • git clone -b xxx url

# git 拉取远程分支并创建本地分支

  1. 查看远程分支

    git branch -r
    
    1
  2. 拉取远程分支并创建本地分支

    方法一:

    git checkout -b 本地分支名 x origin / 远程分支名 x
    
    1

    使用该方式会在本地新建分支 x,并自动切换到该本地分支 x。采用此种方法建立的本地分支会和远程分支建立映射关系。

    方法二:

    git fetch origin 远程分支名 x: 本地分支名 x
    
    1

    使用该方式会在本地新建分支 x,但是不会自动切换到该本地分支 x,需要手动 checkout。采用此种方法建立的本地分支不会和远程分支建立映射关系。

  3. 合并分支

    当拉取远程分支并创建本地分支后,可以使用 git branch 查看本地分支

    $ git branch
    
    * 本地分支名 x
    	master
    
    1
    2
    3
    4

    现在我们可以对本地分支 x 作出修改并提交

    $ git add readme.txt
    $ git commit -m "branch test"
    [dev fec145a] branch test
    1 file changed, 1 insertion(+)
    
    1
    2
    3
    4

    现在, 本地分支 x 的工作完成, 我们就可以切换回 master 分支:

    $ git checkout master
    
    1

    切换回 master 分支后, 再查看一下 readme.txt 文件, 刚才添加的内容不见了! 因为那个提交是在本地分支 x 上, 而 master 分支此刻的提交点并没有变

    现在, 我们把本地分支 x 的工作成果合并到 master 分支上:

    $ git merge dev
    Updating d17efd8..fec145a
    Fast-forward
    readme.txt |    1 +
    1 file changed, 1 insertion(+)
    
    1
    2
    3
    4
    5

    git merge 命令用于合并指定分支到当前分支. 合并后, 再查看 readme.txt 的内容, 就可以看到, 和本地分支 x 的最新提交是完全一样的.

    注意到上面的 Fast-forward 信息,Git 告诉我们,这次合并是 “快进模式”,也就是直接把 master 指向本地分支 x 的当前提交,所以合并速度非常快。当然,也不是每次合并都能 Fast-forward

  4. 删除分支

    合并完成后, 就可以放心地删除本地分支 x 了:

    $ git branch -d 本地分支 x
    
    1

    删除后, 查看 branch, 就只剩下 master 分支了:

    $ git branch
    
    * master
    
    1
    2
    3

    因为创建、合并和删除分支非常快, 所以 Git 鼓励你使用分支完成某个任务, 合并后再删掉分支, 这和直接在 master 分支上工作效果是一样的, 但过程更安全.

  5. 本地分支和远程分支建立映射关系的作用

    参见 Git branch upstream

# 阮一峰关于 git 5 个重要(基本)的指令 (opens new window)

# git 撤销,放弃本地修改 - 上官云清 - 博客园 (opens new window)

# Git 基本命令和 GitFlow 工作流 - myqianlan - 博客园 (opens new window)

编辑 (opens new window)
#Git
上次更新: 5/27/2023, 1:02:05 PM
Markdown 简明教程
Git 指令记录

← Markdown 简明教程 Git 指令记录→

最近更新
01
version 1.15
07-01
02
version 1.14
06-27
03
version 1.13
06-27
更多文章>
Theme by Vdoing | Copyright © 2017-2023 HenryTSZ | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式