包含关键字 Git学习 的文章

标签管理发布一个版本时,我们通常会在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论何时取某个标签的版本,就是把那个打标签的时刻历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,其实就是只想某个commit的指针。这个和分支很像,但是也有所不同。分支可以移动,标签不能移动。创建和删除标签都是瞬间完成的。为什么要引入标签?在commit 的时候序列号是 "6s2d51s... "一长串乱七八糟的数字,完全不好找。如果给这些commit 起一个容易记住的且有意义的名称,这样在查找、操作起来也比较方便。1、创建标签:创建tag$git ta...

阅读全部

Feature分支:通常添加一个新功能,我们可定不希望因为一些实验性的代码而把分支搞乱,所以每添加一个功能最好是建一个feature分支,在feature分支上面开发、实验,完成后根据需要进行合并,最后删除该featrue分支。下面,举例一个场景: 在工作中,当我们接到一个新的功能,该功能计划于下一个开发版本中。开始准备开发。1、创建分支$git checkout -b feature-car2、快速的开发完毕,提交代码$git add NewCarController.java $git commit -m '新车辆档案' 3、切回dev,合并到dev分支上$git che...

阅读全部

我们在合并分支时,Git会用到”Fast forward“模式,在这种模式下删除分支后会丢掉分支信息。如果我们要强制禁用”Fast forward“模式,Git就会在merge时生存一个新的commit,这样从分支历史上就可以看出分支信息。那么,如何强制禁用”Fast forward“模式呢?在merge时 加上参数 --no-ff 即可。创建并切换一个分支dev:$ git checkout -b dev Switched to a new branch 'dev' 修改readme.txt文件并提交:$ git add readme.txt $ git commit -m '修...

阅读全部

在项目中,通常会发生多个人对一个文件进行修改,这样在合并分支的时候就很难避免不发生冲突。一旦在我们合并的时候出现冲突,这个时候我们该怎么解决呢?下面以一个例子来演示冲突如何解决:准备一个新的分支:featrue1,继续在新的分支开发:$ git checkout -b feature1 Switched to a new branch 'feature1' 查看当前的工作区指向的是哪个分支:$ git branch * feature1 master 接下来,修改feature1分支中的readme.txt:feature1分支中的readme.txt原来的内容:”Gi...

阅读全部

Git分支管理分支就是美国科幻大片里面的平行空间,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。两个平行空间互不干扰。但是在某个时间,两个空间合并了。然后你就学会的两个技能Git和SVN。分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完...

阅读全部

Git操作远程仓库1、添加/连接远程仓库:要操作Git的远程仓库的前提,那就是要先添加或者说是连接远程仓库才行。Git仓库之间的传输都是通过SSH加密的,所以在操作远程库之前,需要做一些准备,首先你需要注册一个 GitHub 或者 GitOSC,下面我用GitOSC来做演示了:1、创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C "baike...

阅读全部

Git管理修改:Git跟踪并管理的是修改,而非文件。比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。下面一个小例子来说明: 修改Hello Git.txt,在里面添加一行Hello Git. This is a Git Test File; Time:2017-01-08然后添加到暂存区,然后查看版本库状态:$git add Hello\ Git.txt $git status On branch master Changes to be committed: (...

阅读全部