![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
git
596785154
这个作者很懒,什么都没留下…
展开
-
gitk显示中文乱码
1.选择一个文件夹或者桌面(随便),右键–>Git Bash Here 2.git config –global gui.encoding utf-8中文就不会显示乱码啦原创 2017-08-09 13:53:37 · 645 阅读 · 1 评论 -
git 仓库操作
1.克隆现有仓库git clone urlurl支持git、ssh、http、https等各种协议2.初始化一个仓库git init在当前文件夹下生成 .git目录,完成初始化,此文件夹下的所有文件都处于unstaged状态git文件的各个状态: 1. unstaged git仓库中没有此文件的相关记录 2. modified git仓库中有这个文件的记录,并原创 2017-12-16 16:07:35 · 222 阅读 · 0 评论 -
忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽。好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。不需要从头转载 2018-01-21 17:00:31 · 154 阅读 · 0 评论 -
配置别名
有没有经常敲错命令?比如git status?status这个单词真心不好记。如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。我们只需要敲一行命令,告诉Git,以后st就表示status:$ git config --global alias.st status好了,现在敲git st看看效果。当然还有别的命令可以简写,很多人都转载 2018-01-22 09:22:47 · 218 阅读 · 0 评论 -
远程仓库
到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Gi转载 2018-01-22 10:00:49 · 199 阅读 · 0 评论 -
搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几转载 2018-01-22 11:22:43 · 184 阅读 · 0 评论 -
安装Git
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。要使用Git,第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:在Linux上安装Git首先,你可以试着输入git,看看系统有没有安装Git:$转载 2018-01-22 11:43:29 · 167 阅读 · 0 评论 -
创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:$ mkdir learngit$ cd learngit$ pwd/Users转载 2018-01-22 11:53:39 · 138 阅读 · 0 评论 -
版本回退
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下:Git is a distributed version control system.Git is free software distributed under the GPL.然后尝试提交:$ git add readme.txt$ git commit -m转载 2018-01-22 13:12:46 · 204 阅读 · 0 评论 -
工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫inde转载 2018-01-22 13:31:31 · 237 阅读 · 0 评论 -
管理修改
现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对转载 2018-01-22 13:36:46 · 170 阅读 · 0 评论 -
撤销修改
自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在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.转载 2018-01-22 13:43:38 · 232 阅读 · 0 评论 -
删除文件
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:$ git add test.txt$ git commit -m "add test.txt"[master 94cdc44] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt一般情况下转载 2018-01-22 13:46:52 · 208 阅读 · 0 评论 -
创建标签
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。Git有commit,为什么还转载 2018-01-21 16:29:20 · 448 阅读 · 0 评论 -
操作标签
如果标签打错了,也可以删除:$ git tag -d v0.1Deleted tag 'v0.1' (was e078af9)因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令git push origin :$ git push origin v1.0Total 0 (delta 0), reuse转载 2018-01-21 16:34:18 · 365 阅读 · 0 评论 -
多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:$ git remoteorigin或者,用git remote -v显示更详细的信息:$ git remote -vorigin git@github.com:michaelliao/learn转载 2018-01-21 15:24:35 · 193 阅读 · 0 评论 -
使用Gitblit 搭建Windows Git服务器
本文转载自:这篇文章整理使用Gitblit搭建git服务器的步骤。一、下载安装 jdk 本文使用版本1.7u80. gitblit 本文使用版本1.8.0 ,直接解压无须安装.二、配置1、 jdk配置 配置环境变量,略。2、 gitblit配置 参考官方文档。修改gitblit安装目录下的data文件下的gitblit.properties。1)其中include = defaults.转载 2017-08-10 12:01:08 · 720 阅读 · 0 评论 -
Android github 快速实现多人协作
原文地址:http://www.cnblogs.com/zhaoyanjun/p/5829142.html1、首先小张在github上创建一个仓库,比如叫做: GlideDemo2、 小张开始邀请小王 创建仓库后,然后开始添加 小王了。 注意在第三步的时候,要输入小王的github用户名。3、小王接收小张的邀请 小王在github 登录自己的账户,登录完成后,将在屏幕的右上转载 2017-12-16 15:01:31 · 420 阅读 · 0 评论 -
GitHub 实现多人协同提交代码并且权限分组管理
原文地址:http://www.cnblogs.com/zhaoyanjun/p/5882784.htmlGitHuub多人协作:其优点是:操作简单,快速上手。缺点是:没有办法实现权限控制。为啥要权限控制?这是一个蛋疼的问题,因为我们为了项目的安全考虑,需要对一部分人开放只读权限(只能 read、clone) ; 或者对一部分人开放写权限(只能 read、clone、push) ; 或者对一部分人开转载 2017-12-16 15:14:33 · 707 阅读 · 0 评论 -
Linux下打差异包
Linux下打差异包:git diff >patchgit diff --cached > patchgit diff branchname --cached > patch使用差异包(注意冲突)git apply patch原创 2017-12-16 15:20:47 · 481 阅读 · 0 评论 -
git配置
1.git配置文件位置针对所有文件位置:etc/gitconfig针对当前用户:~/.gitconfig查看配置的方法:git config --list2.修改配置的方法git config --global user.name "yourname" //(修改的是~/.gitconfig)git config --system user.name "yourname" //(修改的是/etc/g原创 2017-12-16 15:29:21 · 197 阅读 · 0 评论 -
git代码提交
1,查看代码当前状态git status2,图形界面查看自己修改的地方gitk发现有文件改动却又不是自己所修改的地方gitk checkout **/**.java3,先将代码上交到缓存中(添加的文件不会提交缓存中)git stash查看代码当前状态git statusgit checkoutgit status4,同步代码,因为有可能有别人更新了代码git pull --rebase查看代码状态g原创 2017-11-09 14:31:27 · 218 阅读 · 0 评论 -
git 撤销操作
1.撤销pushgit revert2.撤销commitgit reset3.撤销前一次commitgit revert HEAD4.撤销前前一次commitgit revert HEAD^5.撤销指定的版本git revert commit "提交版本号"orgit reset --hard "提交版本号" //好像并没有作用原创 2017-12-16 16:22:53 · 230 阅读 · 0 评论 -
分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b devSwitched to a转载 2018-01-21 14:31:49 · 220 阅读 · 0 评论 -
解决冲突
人生不如意之事十之八九,合并分支往往也不是一帆风顺的。准备新的feature1分支,继续我们的新分支开发:$ git checkout -b feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.在feature1分支转载 2018-01-18 16:49:24 · 233 阅读 · 0 评论 -
git 分支创建与合并
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定转载 2018-01-12 17:25:41 · 216 阅读 · 0 评论 -
Bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:$ git status# On branch dev转载 2018-01-21 14:52:01 · 205 阅读 · 0 评论 -
Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。于是准备开发:$ git checkout -b feat转载 2018-01-21 14:58:28 · 283 阅读 · 0 评论 -
git branch操作
1.新建分支git branch [branchname] 基于某个历史版本创建分支git checkout -b branch name> SHA1> 例如:我需要的历史版本的commit 值为92483401abdc41bc64bbdde1a63ed7bbee403e19的版本上创建一个分支ttt并切换到这个新的分支上git checkout -b ttt 924834原创 2017-12-16 16:15:13 · 290 阅读 · 0 评论