【Git】Git 简明使用笔记(基础篇)

工欲善其事,必先利其器。
本文学习源为https://www.liaoxuefeng.com/wiki/896043488029600

一、创建本地仓库(提交新文件)

仓库可以理解为一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除、Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以还原。
创建版本库的步骤:

  1. 创建一个空目录
  2. 进入这个空目录,并打开终端执行 git init 即可初始化一个Git仓库
  3. 添加文件到Git仓库

使用命令git add <file>(可以反复多次使用,添加多个文件)
使用命令git commit -m <message>完成将文件添加到本地仓库

二、掌握工作区状态(提交修改)

如果在本地修改了文件,在提交之前可以

使用 git status 命令查看文件的修改状态,

使用 git diff 查看具体修改的内容。

提交修改的步骤:

  1. 使用命令 git add <file> 提交修改的文件
  2. 使用命令 git status 查看当前仓库状态,或使用命令 git diff 查看具体修改内容
  3. 使用命令 git commit -m <message> 提交文件到仓库
  4. 再次使用 git status 查看查看仓库的当前状态,会输出
    On branch master nothing to commit, working tree clean

三、版本回退

使用 git log 命令查看历史提交版本(使用 git log --pretty=oneline 简化查看数据)
使用 git reset --hard HEAD^ 回退到上一个版本( HEAD 表示当前版本,HEAD^ 表示上一个版本,HEAD^^ 表示上上个版本, HEAD~100 表示往上100个版本)
使用 git reflog 查看命令历史,确定切回到未来的哪个版本
使用 git reset --hard commit_id 回退到指定版本,包括回退到未来版本

四、工作区和暂存区

工作区,就是本地创建的目录中除 .git 文件之外的内容

版本库在工作区中的一个隐藏目录 .git 文件中

版本库里存了很多东西,其中最重要的就是stage(就是暂存区),还有Git自动创建的第一个分支master,以及指向master的一个指针叫做HEAD

上述 git add 的过程实际上就是把文件修改添加到暂存区;git commit 提交实际上就是把暂存区的所有内容提交到当前分支

五、管理修改

Git跟踪并管理的是修改,而非文件。

每次修改都应该使用 git add 将修改添加到暂存区,如果修改后没有执行 git add ,执行 git commit 不会将本次修改提交。

规范的修改提交过程应为

修改1→ git add →修改2→ git add ....→ git commit

六、撤销修改

修改了工作区的文件,想直接丢弃工作区的修改,使用 git checkout -- file
修改了工作区的文件并且使用 git add 添加到了暂存区,此时想丢弃修改,分两步:
使用 git reset HEAD <file>
使用 git checkout -- file
修改了工作去的文件并且使用 git commit 提交到了本地仓库,撤销修改方法参考版本回退

七、删除文件

使用命令 git rm 删除文件。
如果误删,并且误删文件已经提交到版本库,使用 git checkout -- file 恢复即可

八、配置SSH Key

1.创建SSH Key。在用户主目录下,查看是否有.ssh目录,查看目录中是否有id_rsa 和id_rsa.pub这两个文件,如果没有,打开终端或者Git Bash

使用 ssh-keygen -t rsa -C "email@example.com" 创建SSH Key

执行命令之后一路回车即可。

最后会在.ssh目录生成id_rsa 和id_rsa.pub两个文件,id_rsa是密钥,不能泄露出去;id_rsa.pub是公钥,可以放心地告诉任何人

2.登录GitHub 设置公钥

打开Account settings, "SSH Keys"页面,点击"Add SSH Key",填上任意title,在Key文本框里粘贴id_rsa.pub文件中的内容,点击"Add Key"即可

九、添加文件到远程仓库

本地创建了一个Git仓库之后,再在Github上创建一个Git仓库,使得本地的仓库和Github上的仓库远程同步操作步骤
登陆Github,创建一个新的仓库,仓库名称跟本地一致
在本地仓库下运行命令 git remote add origin git@server-name:pathe/repo-name.git
执行命令 git push -u origin master 把本地库的所有内容推送到远程库上,把本地仓库内容推送到远程,用 git push 命令,实际上是把当前分支master推送到远程加上-u参数,Git不但会把本地的master内容推送到远程新的master分支,还会把本地的master分支和远程master分支关联起来,在以后的推送或者拉取时就可以简化命令
自此之后,只要本地作了提交,就可以使用命令 git push origin master 把本地master分支的最新修改推送至Github

十、从远程库克隆

在Github上创建一个新的仓库
本地执行命令 git clone git@server-name:pathe/repo-name.git
Git 支持多种协议,比如https,ssh;但ssh协议速度最快。

posted @ 2020-07-23 16:01  丹哥不是哥  阅读(165)  评论(0编辑  收藏  举报