Git工作机制和托管中心
工作机制
历史版本→本地库
↑
git commmit
↑
暂时储存→暂存区
↑
git add
↑
写代码 →工作区
托管中心
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
- 局域网
GitLab
- 互联网
GitHub(外国网站)
Gitee 码云(国内网站)
Git常用命令
设置用户签名
注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系
admin@DESKTOP-E8GCEEI MINGW64 ~ $ git --version //查看版本号 git version 2.35.1.windows.2 admin@DESKTOP-E8GCEEI MINGW64 ~ $ git config --global user.name tang //设置用户签名 admin@DESKTOP-E8GCEEI MINGW64 ~ $ git config --global user.email 2834323411@qq.com //设置用户签名 admin@DESKTOP-E8GCEEI MINGW64 ~ $ git config --global core.quotepath false //设置显示中文文件
初始化本地库
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo $ git init
初始化之后会自动在当前文件夹下生成一个隐藏文件 .git
查看本地库状态
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master) $ git status On branch master nothing to commit, working tree clean
添加到缓存区
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master|MERGING) $ git add hello.txt
提交到本地库
- 通过
git commit -m "日志信息" 文件名
通过其git status也可看出其不同
而且查看日志也可看出版本更新git tag <tagname>
基于最新提交创建标签git tag -d <tagname>
删除标签git push --tag
上传所有标签
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master|MERGING) $ git commit -m "merge" [master f556a5b] merge
历史版本
git reflog
查看版本信息
git log
查看版本详细信息git log -p 查看每一次提交之间的内容差异
admin@DESKTOP-1SHNHA2 MINGW64 /e/Git (master) $ git reflog 3f47d64 (HEAD -> master, origin/master, git/master) HEAD@{0}: commit: git笔记1.1 29410ad HEAD@{1}: commit: git笔记1.0 f73d1ab HEAD@{2}: commit: 完善版 df5acc9 HEAD@{3}: reset: moving to df5acc9 20952cf HEAD@{4}: reset: moving to 2095 df5acc9 HEAD@{5}: commit: git笔记1.0 d930448 HEAD@{6}: commit: 进行了第四次修改 24de0b6 HEAD@{7}: commit: 第二次修改有误,返回上次版本 435af33 HEAD@{8}: commit: 进行了第二次修改 20952cf HEAD@{9}: commit (initial): 进行了一次修改 admin@DESKTOP-1SHNHA2 MINGW64 /e/Git (master) $ git log commit 3f47d64f23916a165bc218a4bf47ccbe5540bcf5 (HEAD -> master, origin/master, git/master) Author: tang <2834323411@qq.com> Date: Sat Sep 3 13:10:14 2022 +0800 git笔记1.1 commit 29410ad24169242a841511e3299560203b4cccec Author: tang <2834323411@qq.com> Date: Sat Sep 3 12:47:05 2022 +0800 git笔记1.0
版本穿梭
git reset --hard 版本号
admin@DESKTOP-1SHNHA2 MINGW64 /e/应用21301唐辉阳/Git (master) $ git reflog bf3c4a7 (HEAD -> master) HEAD@{0}: commit: git笔记1.0 f73d1ab HEAD@{1}: reset: moving to HEAD^ 29410ad HEAD@{2}: reset: moving to 29410ad 3f47d64 (origin/master, git/master) HEAD@{3}: commit: 唐辉阳的git笔记 29410ad HEAD@{4}: commit: git笔记 f73d1ab HEAD@{5}: commit: 完善版 df5acc9 HEAD@{6}: reset: moving to df5acc9 20952cf HEAD@{7}: reset: moving to 2095 df5acc9 HEAD@{8}: commit: git笔记 d930448 HEAD@{9}: commit: 进行了第四次修改 24de0b6 HEAD@{10}: commit: 第二次修改有误,返回上次版本 435af33 HEAD@{11}: commit: 进行了第二次修改 20952cf HEAD@{12}: commit (initial): 进行了一次修改 admin@DESKTOP-1SHNHA2 MINGW64 /e/应用21301唐辉阳/Git (master) $ git reset --hard 3f47 HEAD is now at 3f47d64 唐辉阳的git笔记 admin@DESKTOP-1SHNHA2 MINGW64 /e/应用21301唐辉阳/Git (master) $ git reset --hard bf3c HEAD is now at bf3c4a7 git笔记1.0
Git的分支操作
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行
优点
- 同时并行推进多个功能开发,提高开发效率
- 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可
分支常用命令
GitHub操作
远程仓库命令
查看、创建别名
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master) $ git remote -v //查看别名 admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master) $ git remote add git-demo https://github.com/Tang17261828134/git_demo.git //创建别名 admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master) $ git remote -v git-demo https://github.com/Tang17261828134/git_demo.git (fetch) git-demo https://github.com/Tang17261828134/git_demo.git (push) admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master) $ git remote remove git-demo //删除别名