前言:
为了对项目进行更好的维护,为了方便进行版本控制,所以Git的学习和使用就变得极为重要,此篇博客记录Git的使用方法和命令,以便之后忘记的时候进行查阅。
一、Git基本指令:
初始化一个新的仓库:
git init
初始化Git仓库查看状态和更改:
git status
查看状态git diff
查看工作区和暂存区的差异克隆一个现有的仓库
git clone <仓库URL>
克隆一个现有的仓库添加与提交文件的更改
git add .
向Git仓库中添加文件(.
是所有文件,添加后的文件在Git Bash中查看是绿色的)git commit -m '改动内容描述(提交说明)'
将暂存区的更改提交到本地仓库查看提交历史
git log
查看提交历史记录git log --oneline
简化的提交历史记录
二、git stash(储藏)
stash相关常用命令:
git stash
将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态git stash list
查看“某个地方”存储的所有记录git stash clear
清空“某个地方”git stash pop
将第一个记录从“某个地方”重新拿到工作区(可能有冲突)git stash apply 编号
, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)git stash drop 编号
,删除指定编号的记录
三、git branch(分支)
branch相关常用命令:
git branch 分支名称
创建分支git checkout 分支名称
切换分支git branch -m 分支名称
创建并切换到指定分支git branch
查看所有分支git branch -d 分支名称
删除分支git merge 分支名称
将指定分支合并到当前分支
四、git reset(撤销与回滚)
reset相关常用命令:
git reset HEAD <文件名>
取消已暂存的文件git checkout -- <文件名>
恢复工作区的文件到上一次提交的状态git reset --hard HEAD^
回退到上一个提交
五、远程仓库
远程仓库常用的指令
git remote -v
: 查看所有远程仓库的 URL。git remote add <远程仓库名> <远程仓库URL>
: 添加一个新的远程仓库。git remote remove <远程仓库名>
: 移除指定的远程仓库。git fetch <远程仓库名>
: 从远程仓库获取最新的提交历史和文件更改,但不会自动合并到当前分支。git pull <远程仓库名> <远程分支名>
: 从远程仓库获取最新的更新,并自动将其合并到当前分支上。git push <远程仓库名> <本地分支名>:<远程分支名>
: 将本地的提交推送到远程仓库的指定分支上。git push --all <远程仓库名>
: 将所有本地分支的更新推送到远程仓库。git branch -vv
: 查看本地分支与远程分支的映射关系。git remote show <远程仓库名>
: 查看远程仓库的详细信息,包括远程分支、本地分支与远程分支的关系等。git remote prune <远程仓库名>
: 清理本地不存在的远程分支引用。
在GitHub上面新建一个仓库(这里我新建仓库名字为test_repository用作测试):
上传本地仓库到GitHub前需要注意:
本地仓库默认名字叫做master,但是GitHub新建仓库默认名字是main,因此我们使用git branch
指令修改仓库名字
git branch -m master main
根据GitHub上面的提示,可以将远程仓库的地址添加到当前git项目中。这个项目会在本地git仓库中创建一个远程仓库的别名(一般来说,远程仓库默认使用origin作为别名,这是一种俗成的习惯)
git remote add origin https://github.com/Chanpoe/test_repository.git
最后推送对项目的修改到远程:(main是本地branch的名字)
git push -u origin main
PS:git的工作原理
Git把管理的文件分为了两个区域四个状态。
工作区:当前开发程序所在目录称为工作区,即:工作开发都是在该目录,该区域的文件会有状态的变化且状态由git自动检测,如果程序中文件做任何操作(增、删、改),文件状态均会被检测到,可以使用 git status
命令查看。
版本库:工作区检测到有文件发生变化,那么意味着较上一个版本之后对程序进行了修改,修改完成之后,可以当做下一版本进行提交,那么就是执行 git add .
将所有文件提交到暂存区,然后再执行git commit -m '又一个版本'
提交到版本库的分支即可,之后可以使用git log
命令查看版本记录。