git 命令学习笔记

2022-09-05 14:29:12 浏览数 (1)

Contents

  • 1 使用git准备工作
  • 2 基本知识
  • 3 git 基本操作命令
    • 3.1 git 操作实例
  • 4 git 上传项目
  • 5 git 操作得一些问题
  • 6 参考资料

使用git准备工作

第一步:刚下载安装的 git 都需要先配置用户名和邮箱:

代码语言:javascript复制
git config --global user.name "HarleysZhang"
git config --global user.email "ZHG5200211@outlook.com"

第二步:要想从 github 或者 gitlab 上实现 clone/pull/push 等操作,首先就得在本地创建 SSH Key 文件,在用户主目录下,查看是否有 .ssh 目录,看这个目录下是否有 id_rsa 和 id_rsa.pub 这两个文件,如果没有,则需要打开 shell(windows 系统打开Git Bash),在命令行中输入:

代码语言:javascript复制
ssh-keygen -t rsa -C "youremail@example.com"

SSH 概述: SSH(Secure Shell) 是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露,原因在于它采用了非对称加密技术 (RSA) 加密了所有传输的数据。

第三步:登录 Github,打开 "Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,就可以看到已经添加的 Key 了。之后你就可以玩转 Git了。

为什么 GitHub 需要SSH Key呢?  因为 GitHub 需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git 支持 SSH 协议,所以,GitHub 只要知道了你的公钥,就可以确认只有你自己才能推送。

基本知识

本地仓库由 git 维护的三棵“树”组成。

  • 第一个是 工作目录,它持有实际文件;
  • 第二个是暂存区(Index),它像个缓存区域,临时保存仓库做的改动;
  • 最后是 Head,它指向我们的最后一次提交的结果。

对于分支来说,在创建仓库的时候,master 是”默认的“分支。一般在项目中,要先在其他分支上进行开发,完成后再将它们合并到主分支上 master上。

git 基本操作命令

代码语言:javascript复制
git init   # 创建新的git仓库
git status # 查看状态
git branch # 查看分支
git branch dev  # 创建dev分支
git branch -d dev  # 删除 dev 分支
git branch -a # 查看远程分支
git checkout -b dev # 创建dev分支,并切换到dev分支
git checkout master  # 切换到master分支
git add filename  # 添加指定文件,把当前文件放入暂存区域
git add .  # 表示添加新文件和编辑过的文件不包括删除的文件
git add -A  # 表示添加所有内容
git commit  # 给暂存区域生成快照并提交
git reset -- files # 用来撤销最后一次 git add files,也可以用 git reset 撤销所有暂存区域文件
git push origin master  # 推送改动到master分支(前提是已经clone了现有仓库)
git remote add origin   # 没有克隆现有仓库,想仓库连接到某个远程服务器
git pull  # 更新本地仓库到最新版本(多人合作的项目),以在我们的工作目录中 获取(fetch) 并 合并(merge) 远端的改动
git diff    # 查看两个分支差异
git diff  # 查看已修改的工作文档但是尚未写入缓冲的改动
git rm   # 用于简单的从工作目录中手工删除文件
git rm -f   # 删除已经修改过的并且放入暂存区域的文件,必须使用强制删除选项 -f
git mv   # 用于移动或重命名一个文件、目录、软链接
git log  # 列出历史提交记录

git 操作实例

1,将其他分支更改的操作提交到主分支:

代码语言:javascript复制
git checkout master  # 切换回master分支(当前分支为dev)
git merge dev  # 合并(有合并冲突的话得手动更改文件)

2,git 如何回退版本:

代码语言:javascript复制
git log  # 查看历史版本
git reset -hard [版本id]  # 恢复到历史版本
git push -f -u origin master  # 把修改推送到远程服务器 

git 上传项目

在前面的准备工作完成后,你首先可以在 gitlab/github 新建仓库后,这样会得到一个仓库地址,这时候你可以把本地的文件夹上传到这个仓库地址,具体操作步骤命令如下:

代码语言:javascript复制
# 推送现有文件夹到远程仓库地址
cd existing_folder
git init
git remote add origin "你的仓库地址"
git add .
git commit -m "Initial commit"
git push -u origin master

其他上传方式命令如下图:

git 操作得一些问题

1,git 解决 fatal: ‘origin’ does not appear to be a git repository问题。 控制台输入: 

代码语言:javascript复制
git remote add origin git@github.com:xxse/xx.git

2,推送本地新创建分支到远程仓库新分支: 

代码语言:javascript复制
git push origin local_branch:remote_branch

参考资料

  1. Git 教程
  2. 图解Git
  3. git documentation
  4. Git 使用简明手册

0 人点赞