Git使用教程
创始人
2024-04-13 05:53:23
0

Git使用教程

更好的阅读体验

从大一就开始用git了,但是一直以来都是想到哪用到哪,时间一长一些命令就容易忘,这次就系统地记录一下git命名,也方便后续查询

在这里推荐一个可视化学习Git的网站

Git学习

Git基本概念

image-20221124182414047.png

git工作区

工作区就是当前git的仓库的目录,工作区独立于各个分支

git版本库

git将所有版本通过一棵有向树的形式存储,存放所有已经提交到本地仓库的代码版本

git暂存区

git暂存区是工作区和版本库之间的缓冲区,工作区在向版本库更新时不会直接放入,而是先放入暂存区,最后将暂存区中的内容放入版本库。注意到暂存区是git的一个公共区域,无论当前所处的分支在何处,暂存区都是一样的

HEAD节点

当前版本所在的节点,每次创建时向head后加入节点并将内容放入其中

Git文件状态

首先对于任何一个文件,在Git内都只有四种状态

  • 未跟踪 (untracked)

表示没有跟踪 (add) 某个文件的变化,使用 git add 即可跟踪文件

  • 未修改 (unmodified)

表示某文件在跟踪后一直没有改动过或者改动已经被提交

  • 已修改(modified)

表示修改了某个文件- 但还没有加入 (add) 到暂存区中

  • 已暂存 (staged)

表示把已修改的文件放在下次提交 (commit) 时要保存的清单中

image.png

Git常用命令

git config设置

用于设置git全局信息

git config --global user.name xxx

设置全局用户名,信息记录在~/.gitconfig文件中

git config --global user.email xxx@xxx.com

设置全局邮箱地址,信息记录在~/.gitconfig文件中

git init 配置仓库

git init

将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中

git add 将文件存入暂存区

git add XX

将XX文件添加到暂存区

git add .

将所有已修改状态文件加入暂存区

git commit 将暂存区内容提交到分支

git commit -m "给自己看的备注信息"

commit后暂存区清空

git status 查看当前仓库状态

git status

用于查看当前仓库跟对应HEAD版本是否存在改动

git diff 查看文件相对于暂存区的改动

git diff

当工作区有改动,暂存区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,暂存区不为空,diff对比的是“工作区与暂存区的共同文件”

git rm --cached xx 删除仓库git文件索引

git rm --cached XX

删除索引后,文件不再受git管理

未跟踪状态

git rm xx 同时从工作区和索引删除文件

git rm xx

git restore 撤销工作区更改不改变暂存区内容

git restore xx

该命令将已修改文件变为未修改文件(包括删除),若暂存区有已修改文件,则恢复至暂存区文件,否则为原始版本

git restore --stage 撤出暂存区内容

git restore --stage xx

将暂存区的文件从暂存区撤出,但不会更改文件的内容

将文件从已暂存恢复到已修改

git log 查看分支

git log

查看当前分支的所有版本

从空走到当前节点的路径

git reset --hard 回滚版本

git reset --hard HEAD^ 或 git reset --hard HEAD~

将代码库回滚到上一个版本

git reset --hard HEAD^^

往上回滚两次,以此类推

git reset --hard HEAD~100

往上回滚100个版本

git reset --hard 版本号

git reflog 查看HEAD指针移动历史

git reflog

查看HEAD指针的移动历史(包括被回滚的版本)

git checkout

git checkout

功能同git restore一致

git remote add origin git@xxx: 关联本地仓库

git clone git@github.com:xxx/XXX.git

建立本地仓库与云端仓库的映射

git clone 下载远程仓库

git clone git@github.com:xxx/XXX.git

将文件下载到本地

git branch 查看所有分支和当前分支

git branch

git checkout -b 创建并切换分支

git checkout -b branch_name

当前的分支内容与上一个节点内容一致

git checkout 切换到某个分支

git checkout branch_name

git merge 合并分支

git merge branch_name

将分支branch_name合并到当前分支上(本质上是修改引用)

git branch -d 删除分支

git branch -d branch_name

git branch 创建新分支

git branch branch_name

git push 推送分支

首次推送时要先建立本地仓库与远程仓库主分支的映射关系

git push -u origin master

其中origin表示服务器端,即远程端,master表示主分支名

git push

根据当前分支推送到远程对应的分支

git push --set-upstream 设置远程分支映射

git push --set-upstream origin brabch_name

–set-upstream设置远程服务器端的分支仓库与本地分支仓库的映射

git push -d 删除远程仓库分支

git push -d origin branch_name

删除远程仓库的branch_name分支

git pull 拉取分支并合并

git pull

将远程仓库的当前分支和本地仓库的当前分支合并

也可使用

git pull origin branch_name

表示将远程仓库的branch_name分支与当前分支合并

git checkout -t origin 拉取远程分支到本地

git checkout -t origin/branch_name

将远程的branch_name 分支拉取到本地

git stash

git stash 是git中的一个栈空间,可以存放工作区和暂存区尚未提交的修改,常用保存部分可能有参考价值但又需要重写的代码

git stash

将工作区和暂存区中尚未提交的修改存入栈中

git stash apply

git stash apply

将栈顶存储的修改恢复到当前分支,但不删除栈顶元素

git stash drop

git stash drop

删除栈顶存储的修改

git stash pop

git stash pop

将栈顶存储的修改恢复到当前分支,同时删除栈顶元素

git stash list

git stash list

查看栈中所有元素

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...