命令行创建git仓库

方法1:初始化自己的仓库

复制代码
git init

创建完成之后可以用ls -a查看是否存在.git文件

如果不想要git仓库,可以使用rm -rf .git删除仓库

方法2:克隆别人的仓库

复制代码
git clone [http]

http\]是仓库网址 ## 总体流程 ![](https://i-blog.csdnimg.cn/direct/4661a7d823dc484a8e9e50176b637806.png) 可以看到文件分为四种状态,这就需要先了解一下git的原理 ### 原理 ![](https://i-blog.csdnimg.cn/direct/1d7a68bf6a924dbb8779440f435e9267.png) 你写代码的地方就是你的工作空间,是一个加工间,也叫工作区。 你写好的东西可以先暂存在暂存区,避免车车一直来回跑。 而本地仓库就是.git,你写好了一版代码就可以让车车送到本地仓库,存放起来。 ### 状态 我们再来看看开始的图 ![](https://i-blog.csdnimg.cn/direct/ac9ad46a5d884b28b421259d3b2258f1.png) 1.未跟踪就是没有放进车车里面的东西,需要通过git add放上车 2.未修改是放进车里面还没有改变代码的东西,如果你需要拿回这个文件可以通过git rm 3.已修改是放进车里面你还拿回工作区修改了里面的代码 4.已暂存是再修改之后再次git add放入车车里面的代码 ### git add 将代码从工作区拿到暂存区 git add . git add -A git add -all 这三个命令都可以将所有未跟踪的文件放入暂存区 git add [文件名] 添加单个文件 git add *.[后缀] 可以将某个后缀的文件全部放入暂存区 ### git status 查看当前状态 ![](https://i-blog.csdnimg.cn/direct/078285a526c34c19a381154f97916c39.png) 存在上述几种状态 ### git commit 提交暂存区的文件,输入后会启动默认的vim编辑,你需要对这次修改的代码内容进行解释,解释完成之后如下,根据提示按住ctrl+X ![](https://i-blog.csdnimg.cn/direct/832a182149b44cba97d6f6d5f8ef178a.png) 跳到下面这个界面,输入Y ![](https://i-blog.csdnimg.cn/direct/7f473de425fc4b90a678609ad6ccdf66.png) 最后到这个界面选择你存储的文件,按enter确认 ![](https://i-blog.csdnimg.cn/direct/e173269c1ec0414bb60122a788f7db16.png) 提交完成如下 ![](https://i-blog.csdnimg.cn/direct/a8a2d7dd91a24932b90dcb3925e609dd.png) 再次查看状态如下 ![](https://i-blog.csdnimg.cn/direct/56107e1166c643f49654c0e229e32728.png) ### git log 查看提交日志 ![](https://i-blog.csdnimg.cn/direct/215e622f508c4e33b90fa5e285048abb.png) --oneline参数显示简洁日志 ![](https://i-blog.csdnimg.cn/direct/0144389122b04afa8276fd758dfa47fc.png) ## git ls-files 可以查看暂存区的内容 ### git reset 回退某个版本,有三个参数选择如下(默认是mixed) ![](https://i-blog.csdnimg.cn/direct/84d708105633471fa3371411de555bd5.png) 这里我就试hard ![](https://i-blog.csdnimg.cn/direct/df0ad18d2ac04c8aaf120ddcac4684c7.png) 可以看到我后面跟了一个HEAD\^代表上一个版本,也可以写你想要回退到的版本号 hard比较强硬,直接消除了你后面写的所有痕迹,其他两个如图显示。 如果误使用hard,也没有关系,还是有办法找回的。 ### git reflog 查看操作历史 ![](https://i-blog.csdnimg.cn/direct/c87eb4ac725440d98bffe8568a997bf8.png) 可以看到之前误删除的版本号,通过reset找回 ![](https://i-blog.csdnimg.cn/direct/45b8dde8f7ba43c297f3351afac389f0.png) ### git diff 查看区别,默认是比较工作区和暂存区 git diff HEAD 比较工作区和版本库的差异 git diff --cached 比较暂存区和版本库的差异 git diff [版本ID] [版本ID] 比较俩个版本的差异 ![](https://i-blog.csdnimg.cn/direct/a9014e7402ea48a6904698dc50650831.png) git diff HEAD HEAD~ 比较当前版本和上一个版本的差异 ![](https://i-blog.csdnimg.cn/direct/b1bf39a4cf4e43a79212f096504672a1.png) ### git rm git rm [文件名] 删除文件,并且在这之后要再次git commit才能将文件从版本库中删除 git rm --cached [文件名] 从版本库中删除 ### .gitignore文件 有一些不需要或者不能被上传到版本库的文件,可以将文件名写进.gitignore文件里面,那样就不会上传了。 ![](https://i-blog.csdnimg.cn/direct/b262bfa51424424296be56206615b524.png) ![](https://i-blog.csdnimg.cn/direct/c4e0ea8f2e7d498a928ec10d6463ab98.png) ![](https://i-blog.csdnimg.cn/direct/99c054f693ad49b8b8f8a45eca7465db.png)

相关推荐
Jammingpro7 小时前
【Git版本控制】Git初识、安装、仓库初始化与仓库配置(含git init、git config与配置无法取消问题)
java·git·elasticsearch
shark14 小时前
无需放弃变更、关闭占用程序!用暂存区和 git底层命令实现 Git 变更备份
git·shell·自动化运维
_poplar_14 小时前
15 【C++11 新特性】统一的列表初始化和变量类型推导
开发语言·数据结构·c++·git·算法
北城笑笑14 小时前
Git 10 ,使用 SSH 提升 Git 操作速度实践指南( Git 拉取推送响应慢 )
前端·git·ssh
蓁蓁啊20 小时前
GIT使用SSH 多账户配置
运维·git·ssh
相与还1 天前
IDEA和GIT实现cherry pick拣选部分变更到新分支
git·elasticsearch·intellij-idea
刘志辉1 天前
git指令
git
2501_916766541 天前
【Git学习】初识git:简单介绍及安装流程
git·学习
孤独的追光者2 天前
Git 完整流程:从暂存到推送
git
平平无奇。。。2 天前
版本控制器之Git理论与实战
linux·git·gitee·github