![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
git
文章平均质量分 65
_冷暖自知
这个作者很懒,什么都没留下…
展开
-
关于git的使用(十七)------操作标签
如果标签打错了,也可以删除:$ git tag -d v0.1Deleted tag 'v0.1' (was f15b0dd)因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令git push origin <tagname>:$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To github.com:michaelliao/le转载 2022-03-21 13:02:03 · 253 阅读 · 0 评论 -
关于git的使用(十六)------创建标签
在Git中打标签非常简单,首先,切换到需要打标签的分支上:$ git branch* dev master$ git checkout masterSwitched to branch 'master'然后,敲命令git tag <name>就可以打一个新标签:$ git tag v1.0可以用命令git tag查看所有标签:$ git tagv1.0默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在转载 2022-03-20 21:35:26 · 222 阅读 · 0 评论 -
关于git的使用(十五)------Rebase
多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。每次合并再push后,分支变成了这样:$ git log --graph --pretty=oneline --abbrev-commit* d1be385 (HEAD -> master, origin/master) init hello* e5e69f1 Merge branch 'dev'|\ | * 57c53ab (origin/dev,转载 2022-03-20 21:31:37 · 521 阅读 · 0 评论 -
关于git的使用(十四)------多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:$ git remoteorigin或者,用git remote -v显示更详细的信息:$ git remote -vorigin git@github.com:michaelliao/learngit.git (fetch)origin git@github.com:michaelliao/le转载 2022-03-20 21:26:21 · 107 阅读 · 0 评论 -
关于git的使用(十三)------Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。于是准备开发:$ git switch -c feature-vulcanSwitched to a new branch 'feature-vulcan'5分转载 2022-03-20 21:19:32 · 389 阅读 · 0 评论 -
关于git的使用(十二)------Bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:$ git statusOn branch devChanges to be committed: (use "git reset HEAD <file&g转载 2022-03-20 21:10:20 · 365 阅读 · 0 评论 -
关于git的使用(十一)------分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git switch -c devSwitched to a new branch 'dev'修改readme.txt文件,并提交一个新的commit:转载 2022-03-20 20:58:16 · 135 阅读 · 0 评论 -
关于git的使用(十)------解决冲突
准备新的feature1分支,继续我们的新分支开发:$ git switch -c feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.在feature1分支上提交:$ git add readme.txt$ git commit -m "AND simple"[feature1 14096d0] AND simp转载 2022-03-20 20:38:00 · 1412 阅读 · 0 评论 -
关于git的使用(九)------创建与合并分支
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。转载 2022-03-20 20:32:40 · 102 阅读 · 0 评论 -
关于git的使用(八)------从远程库克隆
现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件:现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:$ git clone git@github.com:michaelliao转载 2022-03-20 20:11:49 · 290 阅读 · 0 评论 -
关于git的使用(七)------添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:目前,在GitHub上的这个转载 2022-03-19 22:45:40 · 223 阅读 · 0 评论 -
关于git的使用(六)------删除文件
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:$ git add test.txt$ git commit -m "add test.txt"[master b84166e] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:$ rm test.txt这个时候转载 2022-03-19 18:56:15 · 1405 阅读 · 0 评论 -
关于git的使用(五)------撤销修改
现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行:$ cat readme.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called stage.Git tracks changes of files.My stupid boss still prefers SVN.在你转载 2022-03-19 18:46:14 · 443 阅读 · 0 评论 -
关于git的使用(四)------管理修改
现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对readme.txt做一个修改,比如加一行内容:$ cat readme.txtGit is a dis转载 2022-03-19 18:29:24 · 80 阅读 · 0 评论 -
关于git的使用(三)------工作区和暂存区
工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。分支和HEAD的概念我们以后再讲。前面讲了我们把文件往Git版本库里添加的时候,是分两步转载 2022-03-19 18:18:22 · 299 阅读 · 0 评论 -
关于git的使用(一)------创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。第一步,选择一个合适的地方,创建一个空目录:$ mkdir learngit$ cd learngit$ pwd/Users/michael/learngitpwd命令用于显示当前目录。需要注意:如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,转载 2022-03-19 16:29:51 · 116 阅读 · 0 评论 -
关于git的使用(二)------版本回退
回顾一下readme.txt文件一共有几个版本被提交到Git仓库里了:版本1:wrote a readme fileGit is a version control system.Git is free software.版本2:add distributedGit is a distributed version control system.Git is free software.版本3:append GPLGit is a distributed version转载 2022-03-19 17:27:51 · 114 阅读 · 0 评论