Git可以通过可视化的图形界面来操作,也可以根据命令行来进行操作
查看版本
指令: git -v
创建仓库
从本地创建仓库
指令: git init
在 仓库 中创建一个文件夹,然后进入文件夹路径,在文件夹路径下启动命令行窗口,输入 git init
初始化仓库。
从远程仓库克隆一个到本地(下载)
指令: git clone HTTPS网址
指令: git clone HTTPS网址 (想要修改成的昵称)
在仓库中,进入命令行窗口输入 git clone HTTPS网址
,文件夹路径和远程仓库的名称保持一致
当然,在网址后也可以加上修改的昵称重命名
配置仓库
指令: git config user.name/user.email 账户/邮箱
全局配置指令: git config --global user.name/user.email 账户/邮箱
需要注意的是:config后面的两个参数必须都传递。
文件操作
暂存区和工作区
进入当前某个文件夹路径中,查看暂存区的操作
指令: git status
将工作区的文件添加到暂存区
指令: git add 文件名
指令: git add *.后缀名(通配符)
将暂存区的文件返回到工作区
指令: git rm --cached 文件名
暂存区和存储区
提交
指令: git commit -m 新增消息
查看当前提交文件记录
指令: git log
指令: git log --oneline
当然也可以修改文件删除文件,操作一致
文件误删除
如果是文件误删除,在工作区删除了,而在存储区中还有这样的文件。也就是没有提交(commit)删除操作的情况下可以恢复。
指令: git restore 文件名
版本回溯
如果是提交了删除操作,可以采用版本回溯,git log --oneline查询到历史记录
指令: git reset --hard 版本号
Alfonso Kevin@DESKTOP-OROG5BQ MINGW64 /e/Git/warehouse/test/local-rep-3 (master)
$ git log --oneline
8c6b885 (HEAD -> master) delete
db8051b 增加
Alfonso Kevin@DESKTOP-OROG5BQ MINGW64 /e/Git/warehouse/test/local-rep-3 (master)
$ git reset --hard db8051b
HEAD is now at db8051b 增加
Alfonso Kevin@DESKTOP-OROG5BQ MINGW64 /e/Git/warehouse/test/local-rep-3 (master)
$ git log --oneline
db8051b (HEAD -> master) 增加
历史保留恢复已经提交的误删除文件
指令: git revert 提交删除的版本号
注意:这里的版本号是提交删除的版本号,会恢复到这个版本号之前的一次状态
Alfonso Kevin@DESKTOP-OROG5BQ MINGW64 /e/Git/warehouse/test/local-rep-3 (master)
$ git revert a8f4f88
hint: Waiting for your editor to close the file... "E:\\JDK\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin: line 1: E:\JDK\Notepad++\notepad++.exe: No such file or directory
error: There was a problem with the editor '"E:\\JDK\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin'.
Please supply the message using either -m or -F option.
分支操作
添加分支
指令: git branch 分支名
添加分支一定是基于commmit操作,也就是在 .git\refs\heads 中已经有master的操作后添加其他的分支。
查看有多少个分支
指令: git branch -v
切换分支
指令: git checkout 分支名
创建一个分支并切换
指令: git checkout -b 分支名
删除分支
指令: git branch -d 分支名
分支操作-合并与冲突
需要在master分支中合并,所以需要先切换到master分支
指令: git checkout master
合并
指令: git merge 分支名
对于重复的文件名需要 手动修改 ,对应手动修改后的文件名再次add并commit即可。
标签操作
给当前的提交版本增加一个别名,以后可以通过别名访问
添加标签
指令: git tag 标签名 历史版本号
历史版本号可以通过 git log
进行查询,每一个版本都可以增加一个标签,但是不能重复
通过标签查看该历史记录
指令: git log 标签名
删除标签
指令: git tag -d 标签名
通过标签创建分支
分支就是引用了一个提交的版本号,标签就是给标签增加了别名
指令: git checkout -b 标签名
远程仓库
将本地仓库文件推送到远程仓库
指令: git push origin
origin的值在config文件中可以查询
如果origin中url的值是ssh的形式,那么在yes发送后,会报错,对于ssh需要我们提供安全认证功能:
指令: ssh-keygen -t rsa -C url(SSH的形式)
这样就会获得一个SSH安全密钥,储存在 C:\Users\用户.ssh 的路径中,复制pub文件内容
在对应的github/gitee个人中找到SSH安全密钥并认证即可。在使用: git push origin
就可以推送了。
将远程仓库拉取文件到本地仓库
指令: git pull origin
我书写这篇文章的初衷就是总结学习的进度,遗忘之际可以拿出来翻看,如有不对的地方还望指正,多多海涵。