
git
文章平均质量分 77
morris131
这个作者很懒,什么都没留下…
展开
-
Git简介
Git是什么? Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git是Linus Torvalds为了帮助管理Linux 内核开发而开发的一个开放源码的版本控制软件。集中式 VS 分布式 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是原创 2015-12-16 14:20:37 · 7190 阅读 · 11 评论 -
分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:1. 创建并切换dev分支$ git checkout -b devSwitched原创 2015-12-21 16:10:51 · 6019 阅读 · 1 评论 -
Bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。1. 查看工作区状态$ git statusOn branch masterYour branch is ahead of 'origin/master' by 6 commits. (use "git原创 2015-12-21 16:13:27 · 9959 阅读 · 1 评论 -
Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。1. 创建feature分支$ git checkout -b featureSwitched to a new branch 'feature'2原创 2015-12-21 16:14:57 · 9995 阅读 · 1 评论 -
Git多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:$ git remoteorigin或者,用git remote -v显示更详细的信息:$ git remote -vorigin git@github.com:morris131/gittest.g原创 2015-12-22 10:00:32 · 7521 阅读 · 1 评论 -
Git创建标签
发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。1. 切换到需要打标签的分支上打上标签原创 2015-12-22 10:01:56 · 5645 阅读 · 1 评论 -
Git操作标签
1. 删除本地标签$ git tag -d v0.1Deleted tag 'v0.1' (was ece3d17)2. 推送某个标签到远程$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To git@github.com:morris131/gittest.git * [new tag] v原创 2015-12-22 10:04:00 · 6766 阅读 · 1 评论 -
使用Github
我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug,即原创 2015-12-22 10:06:34 · 5227 阅读 · 1 评论 -
Git忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽。好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。不需要从头原创 2015-12-22 10:08:07 · 6067 阅读 · 1 评论 -
Git配置文件
1. 配置别名用git st表示git status$ git config --global alias.st status$ git stOn branch masterYour branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits)noth原创 2015-12-22 10:09:27 · 5919 阅读 · 1 评论 -
Git解决合并分支冲突
1. 创建feature1分支$ git checkout -b feature1Switched to a new branch 'feature1'2. 修改readme.txt文件并提交至版本库$ cat readme.txtgit is a version control system.git is free software under the GPL.git tra原创 2015-12-19 10:41:06 · 10255 阅读 · 1 评论 -
Git创建、合并和删除分支
在版本回退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以原创 2015-12-19 10:23:45 · 10841 阅读 · 1 评论 -
Git从远程版本库克隆
1. 待克隆的远程github版本库2.寻找一个合适的目录,克隆远程版本库$ cd d:$ git clone https://github.com/morris131/gittest.gitCloning into 'gittest'...remote: Counting objects: 16, done.remote: Compressing objects:原创 2015-12-18 10:46:19 · 9135 阅读 · 11 评论 -
git版本回退
1. 修改readme.txt的内容,并提交至版本库 readme.txtgit is a version control system.git is free software.$ git statusOn branch masterChanges not staged for commit: (use "git add ..." to update what will be原创 2015-12-16 15:46:41 · 7581 阅读 · 10 评论 -
Git工作区和暂存区
1. Git使用40个16进制字符的SHA-1 Hash来唯一标识对象,例如e98757d0598ab6eeaf1df0d87dd00826048bd80b2. 将文件添加到版本库的一般步骤:1). 工作区修改文件2). git add, 将修改后的文件添加至暂存区3). git commit,将暂存区的所有内容提交至当前分支 因为我们创建Git版本库原创 2015-12-17 09:52:09 · 10835 阅读 · 11 评论 -
Git管理修改
1. 修改readme.txtgit is a version control system.git is free software under the GPL.git tracks changes.2. 添加到暂存区$ git add readme.txt$ git statusOn branch masterChanges to be committed: (use "原创 2015-12-17 10:09:13 · 6456 阅读 · 11 评论 -
Windows下Git的安装
下载:在官方网站http://git-scm.com/download/下载最新版本 下载完成后,双击安装包开始安装 双击桌面Git Bash图标,启动Git$ git --versiongit version 2.6.4.windows.1原创 2015-12-16 15:01:57 · 7856 阅读 · 10 评论 -
Git创建版本库
版本库又名仓库,英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。1. 找一个合适的地方,创建一个空目录$ cd e:$ mkdir gittest$ cd gittest$ pwd/e/gittest2. 初始化仓库$ gi原创 2015-12-16 15:12:13 · 7577 阅读 · 10 评论 -
Git 撤销修改
1. 将版本库的内容撤回到工作区 git checkout -- readme.txt1) 修改readme.txtgit is a version control system.git is free software under the GPL.git tracks changes of files.this is a error.$ git statusOn branch m原创 2015-12-18 09:05:34 · 5147 阅读 · 11 评论 -
Git删除文件
1. 新建test.txtdelete test$ git statusOn branch masterUntracked files: (use "git add ..." to include in what will be committed) test.txtnothing added to commit but untracked files presen原创 2015-12-18 09:17:22 · 4991 阅读 · 11 评论 -
github添加ssh keys
1. 注册github账号,官网地址:https://github.com/2. 生成ssh keys$ ssh-keygen -t rsa -C "morris131@163.com"Generating public/private rsa key pair.Enter file in which to save the key (/c/Documents and Settings原创 2015-12-18 09:45:08 · 10486 阅读 · 11 评论 -
Git添加到远程仓库
1. 登录github账号,新建一个版本库2. 关联远程库$ git remote add origin https://github.com/morris131/gittest.git3. 为了避免每次提交都输入密码,修改.git/config文件中的https协议为ssh协议修改前[core] repositoryformatversion = 0 file原创 2015-12-18 10:11:35 · 6208 阅读 · 11 评论 -
Git克隆部分文件
Git克隆部分文件需求只希望从Git仓库里取指定的文件或者文件夹出来。在SVN里面,这非常容易实现,因为SVN基于文件方式存储,而Git却是基于元数据方式分布式存储文件信息的,它会在每一次Clone的时候将所有信息都取回到本地,即相当于在你的机器上生成一个克隆版的版本库。解决方案在Git1.7.0以前,这无法实现,但是幸运的是在Git1.7.0以后加入了Sparse Checkout模式,这使得Ch原创 2016-11-03 20:24:52 · 40533 阅读 · 6 评论