一、Git的安装
1 本地电脑安装Git Bash
二、Gitee仓库的创建
2.1 打开gitee官网,注册登录账号
2.2 新建一个仓库
2.3 填写仓库名称,会自动生成路径,然后点击创建
2.4 创建完成后会生成以下信息
三、配置本地SSH秘钥到Gitee
3.1 打开 Git Bash Here 命令行
输入命令 xxx代表Gitee绑定的邮箱,
ssh-keygen -t rsa -C "xxxx@xxx.com"
根据命令行的提示键入“Enter” ,直到生成秘钥成功
3.2 打开 .ssh 文件夹
如果秘钥没有配置成功,则不会有这个文件夹
cd ~/.ssh
在.ssh目录下 有三个文件,其中id_rsa.pub 就是需要配置到Gitee的秘钥
3.3 查看 id_rsa.pub文件
使用 cat 命令
cat id_rsa.pub
从 ssh-rsa 开始 到邮箱结束 将整个字符串复制到剪切板,注意不要有空格
3.4 打开Gitee 保存秘钥
四、本地文件上传Gitee仓库
4.1 打开自己的本地项目,在空白处右键,选中 Git Bash Here
4.2 在终端输入刚才生成的命令,配置全局信息
git config --global user.name "xx"
git config --global user.email "xxxx@qq.com"
4.3 输入命令初始化本地仓库
git init
4.4 添加文件到仓库(末尾有一个 . 代表添加全部文件)
git add .
4.5 提交文件
git commit -m "first commit"
4.6 将本地仓和远程仓关联起来 xxxx 代表项目的地址
git remote add origin xxxx
4.7 推送到仓库
git push -u origin master
五、GIT命令
5.1 常用命令列表
功能 | 命令 |
---|---|
克隆仓库代码 | git clone |
显示已提交的历史记录 | git log |
查看所有分支 | git branch |
新建分支 | git branch name |
切换分支 | git switch name |
合并分支 | git merge name |
添加所有修改文件 | git add . |
提交修改 | git commit -m “修改的备注” |
将修改推送到远程仓库 | git push |
暂存修改 | git stash |
版本回退 | git reset |
获取已提交的历史版本文件 | git checkout <commit_hash> |
5.2 git stash-暂存命令
git stash 的作用
- 暂存修改:将工作目录中的所有未提交的修改(包括已经暂存和未暂存的)保存起来。
- 清空工作目录:将工作目录恢复到和上次提交时的状态一样
- 恢复修改:可以随时从stash中恢复之前保存的修改,继续进行工作或者提交。
使用stash 后恢复
-
查看stash列表:运行 git stash list 命令,它将显示所有已经保存到stash中的修改,并为每个stash生成一个唯一的标识符。
-
恢复最新的stash:如果你只有一个stash,可以直接运行 git stash pop 命令。这将从stash中移出最新的修改,并将其应用到工作目录和暂存区,同时将该stash删除。
git stash pop
如果你想保留stash,并且可以在以后再次应用它,可以使用 git stash apply 命令:
git stash apply
-
恢复指定的stash:如果你有多个stash,并且想要恢复特定的stash,可以使用 git stash apply 后加上stash的标识符。例如,如果你想恢复第二个stash,可以运行
git stash apply stash@{1}
-
需要注意的是,stash的标识符是根据它们被创建的顺序编号的,从0开始。所以,stash@{0} 表示最新的stash,stash@{1} 表示第二个stash,依此类推。
无论是使用 git stash pop 还是 git stash apply,都会将stash中的修改应用到工作目录和暂存区。同时,你还可以使用其他Git命令来进一步处理和提交这些修改。
如果你不再需要某个stash,可以使用 git stash drop 命令来删除它:git stash drop stash@{1}
5.3 git reset-版本回退
5.3.1 版本回退的三种选择
- 在这种模式下,Git 会移动当前分支的指向,但是不会修改暂存区和工作目录。因此,未提交的内容会被保留在工作目录和暂存区中。
git reset --soft <commit>
- 这种模式是默认的重置模式。它会将当前分支指向指定的提交,并且会重置暂存区为指定提交的状态,但是不会修改工作目录。在这种情况下,未提交的内容会被保留在工作目录中,但会被移除出暂存区。
git reset --mixed <commit>
- 这个模式会将当前分支指向指定的提交,并且会重置暂存区和工作目录为指定提交的状态。在这种情况下,未提交的内容都会被永久删除,工作目录会恢复到指定提交的状态。
git reset --hard <commit>
在一般情况下,如果需要回退版本,常用的方式是根据具体情况来选择:
如果你只是想撤销最近的提交并保留修改,可以使用 git reset --soft <commit>。
如果你想撤销最近的提交并且取消已暂存的更改,可以使用 git reset --mixed <commit>。
如果你想完全回退到之前的提交状态,包括暂存区和工作目录的修改,可以使用 git reset --hard <commit>。
总的来说,谨慎使用 git reset --hard,因为它会永久地删除你的本地修改,而其他两种方式可以保留你的修改,使你可以在需要时进行进一步处理。
5.3.2 恢复到回退之前的提交版本
- 使用 git reflog:使用 git reflog 命令查看引用日志,找到之前的提交和分支操作记录。可以找到被回退的提交的哈希值,然后通过 git reset <commit_hash> 将当前分支指向最新的提交。
- 使用分支:如果在回退之前,你创建了一个新的分支,则可以切换回该分支来恢复到最新的提交。例如,假设你之前在回退之前的提交处创建了一个名为 backup 的分支,可以使用 git checkout backup 切换到该分支,然后合并或重新基于最新的提交进行操作。
- 使用 git cherry-pick:如果你知道最新的提交的哈希值,可以使用 git cherry-pick <commit_hash> 命令将该提交应用到当前分支上,从而实现恢复到最新的提交。
5.4 git checkout
5.4.1 git checkout 的作用
- 切换分支:使用 git checkout 可以切换到指定的分支。这个命令会更新工作目录和暂存区,使其与目标分支的最新提交状态一致。
- 创建分支并切换:使用 git checkout -b 可以创建一个新的分支,并立即切换到该分支。这个命令相当于先执行 git branch 创建分支,然后执行 git checkout 切换分支。
- 恢复文件:使用 git checkout – 可以将指定文件恢复到最近一次提交的状态。这个命令将覆盖当前工作目录中的文件内容。
- 切换提交:使用 git checkout 可以将 HEAD 指针直接指向指定的提交,进入分离头指针状态。这样可以查看、回滚或修改特定的提交,但不会在分支上进行操作。
- 切换标签:使用 git checkout 可以将 HEAD 指针直接指向指定的标签,进入分离头指针状态。这样可以查看、回滚或修改特定的标签指向的提交。
5.4.2 git checkout 获取提交的历史版本
- 首先,使用git log命令查看提交历史记录,并获取你感兴趣的提交的哈希值或版本号,这会列出所有的提交记录,包括每次提交的哈希值、作者、日期、提交信息等。
git log
- 根据你想要获取的提交版本,使用git checkout命令切换到该版本:
其中<commit_hash>是你想要获取的提交的哈希值或版本号。git checkout <commit_hash>