Git命令 本地库操作 | 功能 |
---|
git init | 初始化本地库 | git add 文件名 | 添加文件至暂存区(Git开始跟踪此文件) | git commit -m“日志信息” 文件名 | 提交文件至本地库 | git status | 查看本地库状态 | git reflog | 查看日志 | git log | 查看详细日志 | git reset --hard 版本号 | 回滚到文件的某一版本 |
Git命令 远程库操作 | 功能 |
---|
git remote add 别名 远程地址 | 为远程库地址添加别名,便于操作远程库 | git remote -v | 查看此文件夹下所有的远程库别名 | git push 别名/远程地址 分支名 | 将某一分支添加到远程库中 | git pull 别名/远程地址 分支名 | 将某一分支从远程库拉取到本地 | git clone 远程库地址 | 将远程库中的内容下载至本地(多用于下载别人的远程库) |
git init
初始化本地库
例,如果想让Git对“Gitdemo”文件夹中的内容进行版本控制,我们则需要在此文件夹下右击,然后点击运行“Git Bash Here”,在命令行中输入“git init” 即可完成初始化操作。当“Gitdemo”文件夹下就会出现一个“.git“文件,则初始化成功。
![在这里插入图片描述](https://img-blog.csdnimg.cn/0e41c9d7dca44e23825157457997fd84.png#pic_center)
vim index.txt
通过vim新建并编辑文件进行测试。
vim的简单使用
插入模式 :按下 i 键进行文本输入
回退:按下 esc 键返回
保存文件:按下 : 键,然后再按下 w 键进行文件保存
退出vim:按下 : 键,然后再按下 q 键退出vim
保存文件并退出vim:按下 : 键,然后按下 wq 键保存并退出vim
在当前文件夹下输入 vim index.txt 创建index.txt文件
86153@LAPTOP-CXF MINGW64 ~/Desktop/Gitdemo (master)
$ vim index.txt
按下 i 键 进行文本编辑
![在这里插入图片描述](https://img-blog.csdnimg.cn/d602f16f33d049c0b9ed593172acc8a8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
编辑完之后按下 esc 键回退到普通模式,然后输入 :wq 进行保存
![在这里插入图片描述](https://img-blog.csdnimg.cn/425c8624a4194d7cb0637635934b95b0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
此时文件夹中就会新增index.txt文件
git status
查看本地库状态
![在这里插入图片描述](https://img-blog.csdnimg.cn/14f61395f6a54febb22b2cd8c16f0b15.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
因为此时我们并没有将新建的文件提交到暂存区,所以此时会显示 index.txt文件未被跟踪
注:在Git中,没有被跟踪的文件会显示成红色,告诉用户此文件还未被跟踪
git add 文件名
将文件提交到暂存区,此时我们就可以跟踪index.txt文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/4594097e7b96470884ad696173baec53.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
此时再次查看本地库的状态
![在这里插入图片描述](https://img-blog.csdnimg.cn/90800f29fc264c3da318ceb9375dd319.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
当文件名变成绿色时,说明index.txt文件已添加到本地库,index.txt的状态为已跟踪。但此时该版本的文件只存储在暂存区,并没有提交到本地库。
git commit -m“提交/日志信息” 文件名
提交到本地库
![在这里插入图片描述](https://img-blog.csdnimg.cn/8d808c4477c5488c9365f1f7fb860945.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
再次查看本地库状态
![在这里插入图片描述](https://img-blog.csdnimg.cn/a681710a0f9548109570c69626b8af6b.png#pic_center)
此时本地库已经存储了第一个版本的文件内容。
下面我们对index.txt文件内容再次修改。
再次输入vim index.txt,对文件内容进行修改。
![在这里插入图片描述](https://img-blog.csdnimg.cn/abf34841c9414a2a9c9d1f7c2678e925.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
再次查看本地库状态
![在这里插入图片描述](https://img-blog.csdnimg.cn/4ef89dc9d47a4cd4ac4ca587a762b713.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
此时文件的状态信息为“已修改”。
再次执行 git add index.txt将文件添加至暂存区,git commit -m“second test” index.txt,将修改后的文件再次提交至本地库。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8562f000509c442dada73663d9c77b21.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
完成上述操作,git就会提示一个文件已被修改
再次查看本地库时,已没有需要提交的文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/896400be51e149228380d370503c53a5.png#pic_center)
git reflog
查看简单日志信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/a85b071cb90847e98da1f21776c355e4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
简单日志信息中包含前7位版本号,以及当前指针指向的分支,还有每次提交的日志信息
git log
查看详细日志信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/c972a25195ac4b8f9e69a23234366f12.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
在详细日志中可以查看提交的作者和时间,以及详细的版本号
git reset --hard 版本号(前7位)
让文件内容返回至上一版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/36a3c1c61f0549bb9c096a2656b90378.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
再次查看本地库状态
![在这里插入图片描述](https://img-blog.csdnimg.cn/0fd2a28df8d04d56a3e1f3a2e6fb52ad.png#pic_center)
此时文件的内容已经返回至某一版本,虽然文件的内容发生了变化,但因为我们返回的版本仍是已经提交到本地库的版本,所以不需要再进行文件的添加和提交操作。
利用码云创建远程库
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ab3b2f832f74423a424a8b8540ce3cd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_13,color_FFFFFF,t_70,g_se,x_16#pic_center)
填写仓库信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/f97cb0d83d914f87800179ded08e6231.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
此处创建的仓库默认为私有,我们可以在创建完后重新修改仓库的可见性。
![在这里插入图片描述](https://img-blog.csdnimg.cn/1642cddde4e14d4d8e1aa66be42b61f0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
进入仓库的基本信息页面,将仓库设置为开源。
![在这里插入图片描述](https://img-blog.csdnimg.cn/95d7dea265f44fefa38de4dfd729f04f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
此时远程库已经创建完毕
git remote add 别名 远程仓库地址
操作远程库,创建远程库别名
复制远程库的关于http协议的地址
![在这里插入图片描述](https://img-blog.csdnimg.cn/3c6b9bbc9cc94e21ae934dea12e2a760.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
然后为链接地址设置别名
![在这里插入图片描述](https://img-blog.csdnimg.cn/b89d1f4af70e4fd8ae18984c5e67cd5e.png#pic_center)
git remote -v
查看远程库别名
![在这里插入图片描述](https://img-blog.csdnimg.cn/e855a96be04b4a9c8b5178a88546c7d6.png#pic_center)
git push 别名/远程库地址 分支名
将本地库中的文件版本推送到远程库中
![在这里插入图片描述](https://img-blog.csdnimg.cn/5970db17bc50405fbb4a4f149ee2f91c.png#pic_center)
初次操作需要登录码云的账号和密码
![在这里插入图片描述](https://img-blog.csdnimg.cn/a8dd546a0c8740ceb485c9df68e476a2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_16,color_FFFFFF,t_70,g_se,x_16#pic_center)
出现以下信息,说明已经将master分支push到远程库中
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e95d0cab5ef49d18399d6017ea2bc6c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
再次刷新远程库时,我们就可以看到项目中出现了我们上传的文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/f1bb1abca5cd44dfb5beb9fadc0a45e6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
git pull 别名 master
拉取远程库中的文件
此时我们先对远程库中的文件内容修改然后进行拉取(pull)远程库测试
![在这里插入图片描述](https://img-blog.csdnimg.cn/2c7ec115e7e947a9a6f3e401a75aa218.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
拉取远程库内容
![在这里插入图片描述](https://img-blog.csdnimg.cn/cc2d987d04a94a66885c43d4d51785d8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
再次查看本地index.txt文件时,文件内容已经更新
![在这里插入图片描述](https://img-blog.csdnimg.cn/d7e77e192d1c47caa69e01b229965799.png#pic_center)
免密登录码云的远程库
找到远程库的ssh链接
![在这里插入图片描述](https://img-blog.csdnimg.cn/39cc92707814475dbcd550103c3ac5d8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
在C:\Users\电脑用户名 目录下运行“Git Bash Here”。在本机中以C:\Users\86153 为例。
输入ssh-keygen -t rsa -C 你的码云账号 ,然后再连续按下三次回车即可生成密钥。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c208292b627c40bcb28e7b0d3c1b2717.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
输入 cd .ssh 命令进入.ssh文件,然后输入cat id_rsa.pub 查看生成的密钥内容
![在这里插入图片描述](https://img-blog.csdnimg.cn/3e81ef05a3634282a2b8eb03e6d8af9e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
在码云的个人首页点击设置
![在这里插入图片描述](https://img-blog.csdnimg.cn/d81b5921e24c471dbc73fcc430d17f4d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
添加刚刚复制的公钥内容并为公钥命名
![在这里插入图片描述](https://img-blog.csdnimg.cn/e31f1334b28d43418b207b425b1fca72.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGVucm9zZWJsb2c=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
添加成功后会显示当前ssh公钥数
![在这里插入图片描述](https://img-blog.csdnimg.cn/575ec076ad164152855c91c7ff420a78.png#pic_center)
下次我们再对远程库进行push操作就不需要登录了
总结
文件上传至本地库需要两步操作:添加和提交
- git add 文件名
- git commit -m"日志信息" 文件名
对于远程库的操作push和pull
- push用于从远程库拉取文件(每次团队工作前最好拉取一下远程库中的文件)
- pull用于将本地库文件上传至远程库,让码云托管我们的项目代码
|