Git安装/VScode+Git+Github

1. 相关简介

  1. git

    版本控制工具,支持该工具的网站有Github、BitBucket、Gitorious、国内的OS China仓库、Csdn仓库等

  2. shell

shell 是 linux、unix 系统的外壳,也可以理解为命令行

  1. git bash

    git 命令下的模拟终端、bash 是 shell 的一种,最常用的 shell 之一

  2. git GUI

    git 命令下的图形化控制界面

2. Git安装 ( windows环境 )

设置安装到本地主机(localhost)的路径

​

选择组件

​

  • 红色区域

    1. 是否在桌面上安装额外( additional )图标/快捷键
    2. 是否在所有的控制终端窗口使用True Type字体
    3. 是否每天检查 windows 版本的 git更新
  • 蓝色区域(建议)

    1. 是否在 windows 资源管理器集成( intergration ) git bash、git GUI
    2. 是否支持git LFS (Large File Support)
    3. 是否在默认文本编辑器关联( associate )所有的git 配置文件
    4. 是否关联 .sh 文件与 bash 一起运行

是否在开始菜单栏显示 git

​

选择默认的 git 编辑器

​

  • 下面的英文大致意思: Vim 编辑器,是强大的,但是也是很难使用的;它的用户界面是非常直观的,但是它的键绑定是非常笨拙的
  • Note:Vim 是 git 在 windows 上默认的编辑器,是出于历史原因;强烈建议更改到现代的GUI编辑器
  • Note:若需要更改,这将使核心编辑器初始化,接下来返回到编辑器环境变量设置;默认编辑器是 Vim,您可以选择更换到其他编辑器

调整新存储库中初始分支的名称

  1. 调整新存储库中初始分支的名称 (您希望 git 在 ”git init” 之后为初始分支取什么命名?)

  2. 是否让 git 来决定(默认)eg:“master”

  3. 是否重写新存储库的默认分支名称;许多团队已经重命名了他们的默认分支;

    常见的选择是“main”、“trunk(分支)”和“development”

调整你的 PATH 环境变量

​

  1. 调整你的 PATH 环境变量

  2. 是否只在 git bash上使用 git

    (这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 git bash 的 git 命令行工具。但是这将不能通过第三方软件使用)

  3. 是否在命令行终端和第三方软件上使用 git(建议)

    (该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的 Unix 工具造成环境混乱。

    您将能够从 git bash,命令提示符和 Windows PowerShell 以及在PATH中寻找 git 的任何第三方软件中使用 git。这也是推荐的选项)

  4. 是否在命令行终端和可选的 Unix 工具上使用 git

    (git 和可选的 unix 工具都将添加到您的PATH中)

    (警告:这将覆盖 Windows 工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项)

选择HTTPS传输后端

​

  1. 选择HTTPS传输后端

    您希望 git 将哪个 SSL/TSL 库用于HTTPS连接?

  2. 是否使用OpenSSL库

    (服务器证书将使用 ca-bundle.crt 文件进行验证。这也是我们常用的选项)

  3. 是否使用使用本地 Windows 安全通道库

    (服务器证书将使用 Windows 证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过 Active Directory Domain Services )

配置行尾符号转换

​

  1. 配置行尾符号转换(conversions)

  2. 签出 Windows 风格,提交 Unix 风格的行尾

    (签出文本文件时,git 会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,

    这是 Windows 上的推荐设置(“ core.autocrlf” 设置为 “ true” ))

  3. 按原样签出,提交 Unix 样式的行尾

    (签出文本文件时,git 不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,

    这是Unix上的建议设置(“ core.autocrlf” 设置为 “ input” ))

  4. 按原样签出,按原样提交

    (当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“ core.autocrlf” 设置为 “ false” ))

配置终端模拟器(emulator)以与 git bash 一起使用

​

  1. 配置终端模拟器(emulator)以与 git bash 一起使用

  2. 使用MinTTY(MSYS2的默认终端)

    (git bash 将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode 字体。

    Windows 控制台程序(例如 交互式 Python )必须通过 “ winpty” 启动才能在MinTTY中运行)

  3. 使用 Windows 的默认控制台窗口

    (git 将使用 Windows 的默认控制台窗口(“cmd.exe”),该窗口可以与 Win32 控制台程序(如 交互式 Python 或 node.js )一起使用,

    但默认的回滚非常有限,需要配置为使用 Unicode 字体以正确显示 非 ASCII 字符,并且在 Windows 10 之前,其窗口不能自由调整大小,

    并且只允许矩形文本选择)

选择 git pull 的默认行为

​

  1. 选择 git pull 的默认行为;默认情况下“git pull”应该是什么?

  2. 默认(快进或者合并)

    (这是 “git pull” 的标准行为:尽可能将当前分支快进到获取的分支,否则创建合并提交)

  3. 重新定义

    (将当前分支重设为迂回分支。如果没有要重设基础的本地提交,这相当于快速前进)

  4. 永远只快进

    (快进到获取的分支。如果不可能,则失败)

配置凭据帮助

​

  1. 配置凭据帮助

  2. git 凭据管理器核心

    (使用新的跨平台版本的凭证管理器在这里查看有关 git 凭证管理器未来的更多信息)

  3. git 凭据管理器(已弃用)

  4. 无(不使用凭据帮助)

配置额外的选项

​

  1. 配置额外的选项

  2. 启用文件系统缓存

    (文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为 “true” )。 这提供了显著的性能提升)

  3. 启用符号链接

    (启用符号链接(需要 SeCreateSymbolicLink 权限)。请注意,现有存储库不受此设置的影响)

配置实验选项

​

  1. 配置实验选项

  2. 启用对伪控制台的实验性支持

    (这允许在 git bash 窗口中运行 node 或 python 之类的本机控制台程序,而不使用 winpty,但它仍然存在已知的 bug )

配置环境变量

  • 安装成功后需要配置 git 环境变量

    注意该步骤为 git 在 windows cmd 命令中配置,如果不配置,直接使用Git Bash即可

  • git 目录下的 bin(如 C:\Program Files (x86)\Git\bin )添加到 PATH 环境变量中

  • 验证是否配置成功,打开 windows命令行,输入 git --version 命令,出现版本号即配置成功

3. Git安装 ( Mac 环境 )

  • 通过 homebrew 安装 git
  1. 若没有安装 homebrew ,需先安装 homebrew

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 一般上面一种情况下会报错,连接不上 raw.githubusercontent.com,原因是域名被污染了,无法解析

    1. 第一种解决办法:用SwitchHosts软件+IPaddress网站重置 raw.githubusercontent.com 这个网站的连接IP

    2. 第二种解决办法 : 使用国内源,下面是中科大源:

      /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
  3. 安装好 homebrew,再通过 homebrew,安装 git

    brew --version  # 查看homebrew的版本,以检测是否安装成功
    brew install git # 安装git
  4. git 配置(针对 Mac 和 Linux)

    1. 配置全局变量

      git config --global user.name "用户名"
      git config --global user.email "邮箱地址"

4. Git安装 ( Linux 环境 )

  1. CentOS 系统安装 git

    yum -y install git
  2. Ubuntu系统安装 git

    sudo apt-get install git

5. VScode下通过 git 连接到 github 的远程仓库

  1. 生成 ssh 密钥

    ssh-keygen -C 'your email address@xxx.com' -t rsa
    # 3次回车,什么都不用输入
    # 会在用户目录~/.ssh/下建立相应的密钥文件
  2. 上传公钥

    cd ~/.ssh          # 进入.ssh文件夹
    cat id_rsa.pub # 查看id_rsa.pub文档下的公钥,并复制
    # 公钥是保存在id_rsa.pub文档中
    # 私钥是保存在id_rsa文档中
  3. 将复制下来的公钥,添加到 github 的 ssh keys 里

  4. 回到终端,测试是否连接成功

    ssh -T 'your email address@xxx.com'
    # 若连接成功,会出现'Hi github用户名!,You've sucessfully authenticated(身份验证) ……;'
  5. 初始化一个 git 仓库

    git init newrepo(在newrepo目录下初始化git仓库)
    # git仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变
  6. 向 git 仓库添加文件

    git add .xxxx   # 添加指定文件
    git add README # 添加注释文档
    git commit -m # 初始化项目版本
  7. 克隆项目文件到本地

    git clone "github项目地址" <directory>(克隆到指定的本地目录)
  • 以上方法适用于 Mac 和 Linux ;Windows 下的实现方式基本也是一样的

6. 常用 git 命令清单 ( 备用 )

  1. 常用6个命令

    # 专用名词译名
    
    1. Workspace:工作区
    2. Index/Stage:暂存区
    3. Repository:仓库区(或本地仓库)
    4. Remote:远程仓库
  2. 新建仓库

    $ git init
    # 在当前目录新建一个Git代码库 $ git init [project-name]
    # 新建一个目录,将其初始化为Git代码库 $ git clone [url](github上项目的地址)
    # 下载一个项目和它的整个代码历史
  3. 配置

    # git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)
    
    $ git config --list
    # 显示当前的Git配置 $ git config -e [--global]
    # 编辑Git配置文件 $ git config [--global] user.name "[name]"
    $ git config [--global] user.email "[your email address]"
    # 设置提交代码时的用户信息
  4. 增加/删除文件

    $ git add [file1] [file2] ...
    # 添加指定文件到暂存区 $ git add [dir]
    # 添加指定目录到暂存区,包括子目录 $ git add .
    # 添加当前目录的所有文件到暂存区 $ git add -p
    # 添加每个变化前,都会要求确认
    # 对于同一个文件的多处变化,可以实现分次提交 $ git rm [file1] [file2] ...
    # 删除工作区文件,并且将这次删除放入暂存区 $ git rm --cached [file]
    # 停止追踪指定文件,但该文件会保留在工作区 $ git mv [file-original] [file-renamed]
    # 改名文件,并且将这个改名放入暂存区
  5. 代码提交

    $ git commit -m [message]
    # 提交暂存区到仓库区 $ git commit [file1] [file2] ... -m [message]
    # 提交暂存区的指定文件到仓库区 $ git commit -a
    # 提交工作区自上次commit之后的变化,直接到仓库区 $ git commit -v
    # 提交时显示所有diff信息 $ git commit --amend -m [message]
    # 使用一次新的commit,替代上一次提交
    # 如果代码没有任何新变化,则用来改写上一次commit的提交信息 $ git commit --amend [file1] [file2] ...
    # 重做上一次commit,并包括指定文件的新变化
  6. 分支

    $ git branch
    # 列出所有本地分支 $ git branch -r
    # 列出所有远程分支 $ git branch -a
    # 列出所有本地分支和远程分支 $ git branch [branch-name]
    # 新建一个分支,但依然停留在当前分支 $ git checkout -b [branch]
    # 新建一个分支,并切换到该分支 $ git branch [branch] [commit]
    # 新建一个分支,指向指定commit $ git branch --track [branch] [remote-branch]
    # 新建一个分支,与指定的远程分支建立追踪关系 $ git checkout [branch-name]
    # 切换到指定分支,并更新工作区 $ git checkout -
    # 切换到上一个分支 $ git branch --set-upstream [branch] [remote-branch]
    # 建立追踪关系,在现有分支与指定的远程分支之间 $ git merge [branch]
    # 合并指定分支到当前分支 $ git cherry-pick [commit]
    # 选择一个commit,合并进当前分支 $ git branch -d [branch-name]
    # 删除分支 $ git push origin --delete [branch-name]
    $ git branch -dr [remote/branch]
    # 删除远程分支
  7. 标签

    $ git tag
    # 列出所有tag $ git tag [tag]
    # 新建一个tag在当前commit $ git tag [tag] [commit]
    # 新建一个tag在指定commit $ git tag -d [tag]
    # 删除本地tag $ git push origin :refs/tags/[tagName]
    # 删除远程tag $ git show [tag]
    # 查看tag信息 $ git push [remote] [tag]
    # 提交指定tag $ git push [remote] --tags
    # 提交所有tag $ git checkout -b [branch] [tag]
    # 新建一个分支,指向某个tag
  8. 查看信息

    $ git status
    # 显示有变更的文件 $ git log
    # 显示当前分支的版本历史 $ git log --stat
    # 显示commit历史,以及每次commit发生变更的文件 $ git log -S [keyword]
    # 搜索提交历史,根据关键词 $ git log [tag] HEAD --pretty=format:%s
    # 显示某个commit之后的所有变动,每个commit占据一行 $ git log [tag] HEAD --grep feature
    # 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 $ git log --follow [file]
    $ git whatchanged [file]
    # 显示某个文件的版本历史,包括文件改名 $ git log -p [file]
    # 显示指定文件相关的每一次diff $ git log -5 --pretty --oneline
    # 显示过去5次提交 $ git shortlog -sn
    # 显示所有提交过的用户,按提交次数排序 $ git blame [file]
    # 显示指定文件是什么人在什么时间修改过 $ git diff
    # 显示暂存区和工作区的差异 $ git diff --cached [file]
    # 显示暂存区和上一个commit的差异 $ git diff HEAD
    # 显示工作区与当前分支最新commit之间的差异 $ git diff [first-branch]...[second-branch]
    # 显示两次提交之间的差异 $ git diff --shortstat "@{0 day ago}"
    # 显示今天你写了多少行代码 $ git show [commit]
    # 显示某次提交的元数据和内容变化 $ git show --name-only [commit]
    # 显示某次提交发生变化的文件 $ git show [commit]:[filename]
    # 显示某次提交时,某个文件的内容 $ git reflog
    # 显示当前分支的最近几次提交
  9. 远程同步

    $ git fetch [remote]
    # 下载远程仓库的所有变动 $ git remote -v
    # 显示所有远程仓库 $ git remote show [remote]
    # 显示某个远程仓库的信息 $ git remote add [shortname] [url]
    # 增加一个新的远程仓库,并命名 $ git pull [remote] [branch]
    # 取回远程仓库的变化,并与本地分支合并 $ git push [remote] [branch]
    # 上传本地指定分支到远程仓库 $ git push [remote] --force
    # 强行推送当前分支到远程仓库,即使有冲突 $ git push [remote] --all
    # 推送所有分支到远程仓库
  10. 撤销

    $ git checkout [file]
    # 恢复暂存区的指定文件到工作区 $ git checkout [commit] [file]
    # 恢复某个commit的指定文件到暂存区和工作区 $ git checkout .
    # 恢复暂存区的所有文件到工作区 $ git reset [file]
    # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 $ git reset --hard
    # 重置暂存区与工作区,与上一次commit保持一致 $ git reset [commit]
    # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 $ git reset --hard [commit]
    # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 $ git reset --keep [commit]
    # 重置当前HEAD为指定commit,但保持暂存区和工作区不变 $ git revert [commit]
    # 新建一个commit,用来撤销指定commit
    # 后者的所有变化都将被前者抵消,并且应用到当前分支 $ git stash
    $ git stash pop
    # 暂时将未提交的变化移除,稍后再移入 # 其它
    $ git archive
    # 生成一个可供发布的压缩包
  1. git git bash git shell的区别:https://blog.csdn.net/BSBSDXBD/article/details/51090004
  2. git-Windows :https://www.cnblogs.com/xueweisuoyong/p/11914045.html
  3. git-Macos :https://www.cnblogs.com/guoccf/p/13089913.html
  4. git-Macos :https://www.cnblogs.com/wuliqqq/p/13233262.html
  5. 配置git :https://www.jianshu.com/p/6e1de95828a8
  6. git-Ubuntu :https://www.cnblogs.com/larry2016/p/13977251.html
  7. git-Linux :https://www.cnblogs.com/fuzongle/p/12830572.html
  8. 常用 git 命令清单:https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

Git安装/VScode+Git+Github的更多相关文章

  1. ubuntu下git安装及连接github

    1.安装 sudo apt-get install git git-core git-gui git-doc git-svn git-cvs gitweb gitk git-email git-dae ...

  2. Git 安装及用法 github 代码发布 gitlab私有仓库的搭建

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...

  3. git安装、git和GitHub的配合使用、git和码云的配合使用

    1 git安装请参见廖雪松的git教程前面几节 点击前往 2 git速成之基本命令 点击前往 3 git 和 GitHub 配合使用之基础 点击前往 4 git 和 GitHub 配合使用之进阶 点击 ...

  4. git安装及git命令的用法

    git安装流程 https://git-scm.com/download/win (官网下载) git安装步骤 1.双击安装包 图文解释:

  5. git安装和GitHub使用

    一.git安装 1.git下载 https://github.com/git-for-windows/git/releases/tag/v2.17.1.windows.2 在如上地址下载git,并安装 ...

  6. bower安装使用以及git安装

    bower需要:node 和 git node安装包下载:http://blog.csdn.net/myan/article/details/2028545 Git安装: 选择第二项:Use Git ...

  7. Git详解及github的使用

    1.Devops介绍 1.Devops是什么 开发 development 运维 operations 2.Devops能干嘛 提高产品质量 1 自动化测试 2 持续集成 3 代码质量管理工具 4 程 ...

  8. git安装并与远程仓库关联相关配置

    git是当前最流行的版本控制系统,下面简单记录一下git的安装及其与远程仓库的关联. git安装 打开git官网,下载对应的安装包. 双击运行安装包,安装过程中可以直接选择默认配置,一路next下去. ...

  9. Linux安装配置git

    1.查看git安装版本 git version 2.查看git安装位置 whereis git 3.yum安装git yum install git 4.生成ssh key cd /root/.ssh ...

随机推荐

  1. 嵌入式开发笔记——调试组件SEGGER_RTT

    一.前言 在嵌入式开发过程中,经常会通过打印输出一些调试信息来调试参数.查找问题等,通常我的做法都是使用芯片的串口硬件设备配合串口助手软件来进行调试.但是这次项目的PCB硬件设计并未预留串口调试接口, ...

  2. 一目了然的 Node.js Windows10 安装篇

    本篇文章 介绍 NodeJS 的安装 及环境变量配置 Node JS 的 了解 1.Node.js简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于 ...

  3. canvas可视化效果之内阴影效果

    canvas可视化效果之内阴影效果 楔子 在之前的一个轨道交通可视化项目中,运用到了很多绘制技巧. 可以参考 之前的一篇文章 <利用canvas阴影功能与双线技巧绘制轨道交通大屏项目效果> ...

  4. 【python爬虫】一个简单的爬取百家号文章的小爬虫

    需求 用"老龄智能"在百度百家号中搜索文章,爬取文章内容和相关信息. 观察网页 红色框框的地方可以选择资讯来源,我这里选择的是百家号,因为百家号聚合了来自多个平台的新闻报道.首先看 ...

  5. 仙剑4CPK加密解密算法(转)

    // RSTEncDec.h: interface for the CRSTEncDec class. // ///////////////////////////////////////////// ...

  6. Centos7.3 离线环境下修改时间

    运行以下命令 1.tzselect --命令确定时区 2.timedatectl set-timezone Asia/Shanghai  --设置系统时区为上海 3.timedatectl set-n ...

  7. 麦格理银行借助DataStax Enterprise (DSE) 驱动数字化转型

    在本文中,我们将介绍DataStax Enterprise是如何助力澳大利亚最大的投资银行麦格理银行的数字银行,实现了实时分析和自然语言搜索等多项功能,并为用户提供了个性化的用户体验. "D ...

  8. Gitlab+Jenkins构建一个Go项目

    部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • ...

  9. 【kinetic】操作系统探索总结(六)使用smartcar进行仿真

    p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: justify } a:link { color: r ...

  10. ip,子网掩码,网关以及dns简述

    ip 描述 ip地址用于标识不同的计算机身份,ip地址=网络地址+主机地址 例子 192.168.1.168(ip地址)=192.168.1.0(网络地址)+0.0.0.168(主机地址) 寻址过程 ...