尼采般地抒情

公告栏

此网站主题为本人手写主题, 主题待开源···

站点信息

文章总数目: 298
已运行时间: 991
目录
  1. 一、Git安装和本地用户全局配置
    1. Git的下载与安装
    2. 全局配置本地用户
    3. 验证是否配置成功
  2. 二、SSH 绑定 Git 和 GitHub
    1. 生成 SSH 密钥
    2. GitHub 上添加生成的 SSH 密钥
    3. 验证是否绑定成功
      1. The authenticity of host 'github.com (xx.xxx.xxx.xx)' can't be established.
  3. 三、常用命令总结
    1. git clone
    2. git pull
    3. git push
    4. git branch/checkout
    5. git reset

尼采般地抒情

尼采般地抒情

公告栏

此网站主题为本人手写主题, 主题待开源···

站点信息

文章总数目: 298
已运行时间: 991

一、Git安装和本地用户全局配置

Git的下载与安装


全局配置本地用户

在git Bash中进行下面配置,下面的账号名字和邮箱都是github的账号所使用的


git config --global user.name "wztlink1013"

git config --global user.email "wztlink1013@163.com"


其中:global 表示全局可用,如果要设置局部可用,则只需要删除 global 即可

验证是否配置成功

git config --global --list

二、SSH 绑定 Git 和 GitHub

生成 SSH 密钥

  1. 输入以下命令,然后回车三下 (有些时候要回车四下)
ssh-keygen -t rsa
  1. 然后用户管理员文件夹下会生成下面两个文件 id_rsa 和id_rsa.pub

GitHub 上添加生成的 SSH 密钥

  • 将上述id_rsa.pub的文件内容添加到 GitHub 上的 ssh 即可

验证是否绑定成功

ssh -T git@github.com
  • 响应如下内容则证明绑定成功

The authenticity of host 'github.com (xx.xxx.xxx.xx)' can't be established.

出现该错误,原因为少了一个 known_hosts 文件,解决方法,直接键入 yes,再回车。

三、常用命令总结

git clone

本地没有 git 仓库,也没有 git init 操作,需要先从 GitHub 上 clone 下来-

git clone https://github.com/wztlink1013/datastructure-algorithm.git

# 有的 GitHub 仓库存在很久,有很多 commit 历史,特别是曾经的某一次提交带有较大文件的情况,会导致后续 clone 工程大的问题

# depth n 参数代表克隆深度,不带该参数则克隆所有历史版本

git clone git@github.com:wztlink1013/web-learn-notes.git --depth 1

# 直接克隆指定分支下来

git clone -b 指定分支名 git@github.com:wztlink1013/wztlink1013.github.io.git

对本地文件夹进行一系列更改之后,执行命令:

# 查看仓库命令状态
git status

# 文件提交到文件缓冲区

git add .

# 提交仓库并且添加提交信息

git commmit -m "描述本次修改信息"

# 查看修改日志

git log

# 再次查看

git status

# 首次推送

git push -u origin master

# 非首次推送

git push origin master

git pull


这种情况是,本地有 git 仓库,指之前已经进行 git init 等一系列命令对该文件夹操作过。新建一个例子:

# 初始化本地仓库
git init

# 关联远程仓库

git remote add origin https://github.com/wztlink1013/wztlink1013.github.io.git

# 同步远程仓库和本地仓库

git pull origin master


注意:在进行本地仓库和远程仓库的文件交互时,一定要先 pull 再 push,不然会出未知错误。

1、将远程指定分支 拉取到 本地指定分支上:

git pull origin <远程分支名>:<本地分支名>

2、将远程指定分支 拉取到 本地当前分支上:

git pull origin <远程分支名>

3、将与本地当前分支同名的远程分支 拉取到 本地当前分支上(需先关联远程分支,方法见上)

git pull

在克隆远程项目的时候,本地分支会自动与远程仓库建立追踪关系,可以使用默认的 origin 来替代远程仓库名,

所以,我常用的命令就是 git pull origin <远程仓库名>,操作简单,安全可控。

git push

1、将本地当前分支 推送到 远程指定分支上(注意:pull 是远程在前本地在后,push 相反):

git push origin <本地分支名>:<远程分支名>

2、将本地当前分支 推送到 与本地当前分支同名的远程分支上(注意:pull 是远程在前本地在后,push 相反):

git push origin <本地分支名>

3、将本地当前分支 推送到 与本地当前分支同名的远程分支上(需先关联远程分支,见上)

git push

同样的,推荐使用第 2 种方式,git push origin <远程同名分支名>

4、git push -u

将本地分支与远程同名分支相关联

git push --set-upstream origin <本地分支名>

简写方式:

git push -u origin <本地分支名>

5、git push -f

$ git push origin master
To https://github.com/wztlink1013/website-source.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/wztlink1013/website-source.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  • 解决:强制性 push
git push -f origin master

git branch/checkout

# 从当前分支创建并切换新的分支
git branch -b 分支名

# 查看本地所有分支

git branch

# 切换到指定分支

git checkout 指定分支名

从远程拉取指定分支并切换

git checkout -b dev-2.0-wzt1 origin/dev-2.0-wzt1

删除指定分支

git branch --delete dev-2.0-wzt1

# error: The branch 'dev-2.0-wzt1' is not fully merged.

# If you are sure you want to delete

# it, run 'git branch -D dev-2.0-wzt1'.

git branch -D dev-2.0-wzt1

# Deleted branch dev-2.0-wzt1 (was 63e7215).

git reset

回退指定历史命令

git reset --hard 9fba643590aeb5889c84029585848b93c3e64e5d


评论区

Twikoo giscus