git tag以及git
git tag 以及git
一、先说收获吧
1. git bash 在windows上
类似于linux的bash提供的shell命令行窗口,可以执行很多linux命令,cd pwd ls vim cat touch mkdir,还可以用正则匹配查看标签。相当于在windows上装了一个小的linux。git init myproject可以创建一个.git管理的目录
2. git log --oneline
方便查看最近的提交的HEAD、tag、origin情况
3. working tree
翻译过来是工作树,应该是当前在哪个分支上,修改了什么,或者没有修改什么,这些目录结构和文件结构的一个架构像一个树一样。所以叫当前的工作的树,working tree
4. 查看标签的详细信息
git show v0.0
5. 修改分支名称
git branch -m cs abc
6. 查看当前的git管理的状况
git status
7. git管理的概念
version control,核心是这些都是在本地各种各样操作,同步不同步origin,包括从不从origin拉代码,都是很多操作中的一个而已,要求就是网络是通的。包括config user.name user.email其实都是本地是活。所以git的核心功能就是在本地管理一个项目目录。所以git的origin仓库相当于一个云盘而已,为多个开发者或者维护这个项目的人提供一个中间的上传和下载项目目录的中间存储而已。所以git的重点是在本地操作,和云盘只是一个上传和下载的关系,所以叫代码托管平台,而不是代码开发平台。git的80%可能更多都是在本地的操作。
8. 一个本地目录可以关联多个远端仓库,比如github、gitee
一、git tag
1. 查看最近的tag
git log --oneline
2. 指定提交,为这次提交打标签
git tag v1.0 commit_hash_string
3. 给指定提交,加注释标签
git tag v0.0 -a -m '启动项目' commit_hash_string
4. 查看标签
4.1 普通查看
git tag
4.2 正则匹配查看标签
git tag -l 'v1*'
5. 查看标签的详细信息
git show v0.0
6. 本地库推送origin库(git push不会把tag推送到origin库,需要单独push tag)
6.1 查看远程库的信息
git remote -v
6.2 推送单个标签到origin库
git push origin v0.0
6.3 推送所有标签到origin库
git push origin --tags
7. 删除标签
7.1 删除本地标签
git tag -d v1.8
7.2 删除origin标签
git push origin -d v1.8
二、说一说git
1. 介绍
git的bash命令行好像用起来和Linux命令差不多,不是windows的那种,而是Linux风格的那种。可以用pwd, ls,还可以用ls -a,这几个命令在windows的cmd都用不了
这样就适合系统管理员了。要熟悉命令,可能用起来比vscode点点点可能还要更舒服,前提是熟练的话。它会管理这个目录,还有snapshot功能
首先要明白的是,这个命令看着简单,字很短。可能会给人一种错觉,这个不是特别麻烦,好像很简单。就是git clone,git pull,git push,git checkout这些。其实这个工具很强大,用的一般,工作起来很多东西就要手动去搞,或者靠眼睛和记忆力去做。比如哪个版本改了什么,哪个分支哪次提交又怎么样了,合并分支解决冲突等等,很多细节在里面。但是用的好的话,可以省很多力气,也增加容错,不靠记忆力和经验去做。
具体知识点就边看边总结吧
git 是干嘛的?官方视频里面说的是version control,翻译过来是版本控制,但是从英文的角度来说,好像更能感受到设计这个工具干嘛。
you can version-control items just on your desktop, just with a single piece of software available at the command line. 用个命令行就可以控制
git init myproject 可以创建一个目录
cd myproject
git add .
git commit -m "importing all the code" 可以permanently records a historical
git checkout master
git commit -a -m "my new logo"
git checkout -b danasfeature
git commit -a -m "my feature code"
git push origin danasfeature
git pull
git merge danasfeature
git add -p myreport.markdown
git commit -m "added latest statistics"
git log --graph --decorate --abbrev-commit --all --pretty=oneline
git config --global user.name "Dana Devops"
git config --global user.email "danadevops@gmail.com"
git init project1
cd project1
create file1.txt
git add file1.txt
git commit -m "my first commit"
git的副标题是everything-is-local,意思应该是push和pull只是和远程仓库交互的,大部分的作用是在本地对project directory进行各种控制和snapshot和reviewz
这个username和email也是主要在本地来记录commit的提交记录的,和origin仓库交互只是终端手段而已。git version control system
2. 工作区也叫文件树
git status等命令给出的信息好像都有个什么什么tree,有时候不知道是啥意思。英文语境下好像不这么叫吧,work zone,或者啥,好像是叫什么什么树。所以把工作区称为文件树可能贴合它的实际情况吧。git的命令在windows上也可以用git --help。然后常用的命令都有解释,和linux上差不多。而且这个工作区,看git上的提示信息好像都是说working tree,比如下图中的参数解释中,也多提到working tree,而不是工作区,翻译过来应该叫工作树。在windows上不能用man git,而能用下面列出的git help -a
3. .git这个隐藏目录
4. 将一个文件恢复
5. 将一个文件恢复到指定的committed_hashid
git checkout committed_hashid file_name
如图:
6. 已经committed的怎么撤销
7. 分支管理
8. 修改分支名称
git branch -m cs abc # -m 应该是modify