reference : http://fle.github.io/an-efficient-git-workflow-for-midlong-term-projects.html Our full-web  project has been going on for nearly two years and is running in production for over 18 months. I think it's my first project without any headache…
一个从无到有的项目大体经历-创建项目目录,创建repo,配置过滤集,配置git user,导入已有基础代码入库,将库放到central去,建立分支,修改代码,checkin代码,分支上 测试验证代码,merge稳定代码回主线,打tag,push到中央库分享 mkdir app   cd app   git init   cd .git   vi description   cd info   sudo vi exclude cd ../../ (app目录)   git add --all   …
在这里下载git:https://git-scm.com/ 安装的时候, 如果是windows系统的话, 可以勾选unix的命令行工具, 这样在windows命令行下会多出很多命令, 例如ls. Git基本命令大致分这些, 这一部分只讲创建项目这块. 创建git项目 基本工作流程 (Workflow) 文件相关操作 历史和别名 忽略文件 (Ignoring) 创建项目 1.开始新项目 git init 项目名: 通过这个命令git创建了一个文件夹叫做learn-git. 进入这个目录, 执行ls…
原文链接 git push 通常对于一个本地的新建分支,例如git checkout -b develop, 在develop分支commit了代码之后,如果直接执行git push命令,develop分支将不会被push到远程仓库(但此时git push操作有可能会推送一些代码到远程仓库,这取决于我们本地git config配置中的push.default默认行为,下文将会逐一详解). 因此我们至少需要显式指定将要推送的分支名,例如git push origin develop,才能将本地新分…
1 Git init  和 git init –bare 的区别 用"git init"初始化的版本库用户也可以在该目录下执行所有git方面的操作.但别的用户在将更新push上来的时候容易出现冲突. 比如有用户在该目录(就称为远端仓库)下执行git操作,且有两个分支(master 和 b1),当前在master分支下.另一个用户想把自己在本地仓库(就称为本地仓库)的master分支的更新提交到远端仓库的master分支,他就想当然的敲了 git push origin master:m…
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaert 这里是设置提交代码的人的名称 git config  –global user.email github@126.com 这里是设置提交代码的人的邮箱 查看当前的用户名 git  config  user.name 或者 git  config   –get  user.name 这时候会显示B…
1.注册git@osc(也就是“码云”) 这里会提示注册密码==push密码,反正一定要记住的东西.   2.安装git 这里要设置个人信息 git config --list //查看git信息 git config --global user.name "zqz" git config --global user.email "zqz@zhaoqize.com" git config --global core.editor vim git -config --…
Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到origin/master分支上   然后比较本地的master分支和origin/master分支的差别   最后进行…
[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 http://www.cnblogs.com/yubinfeng/p/5182271.html 本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是…
作为即将成为一个程序员的男人,一直在听别人说Git多好多好,之前也随便了解了一些,但是始终没有决心去学会.现在大四了,只有毕设和一门开学六七周只去过一次课的全员必修课外,也没有什么事情做,何不去做这些真正让自己的以后的职业生涯受益的事情呢. 倒腾了一个晚上,终于搞定了基本的Git的基本操作.在此谨记录自己从安装到基本使用的一个过程,一个是帮助后来需要的人,算做一个借鉴,也是给自己的一个备忘吧. 第一当然是安装Git了.虽说Windows是相比于Linux和Mac的最差的平台,但谁叫我还没入职呢(…
1.遇到的问题 本地有一个git仓库,在github上新建了一个空的仓库,但是更新了REWADME.md的信息,即在github上多了一个提交. 关联远程仓库,操作顺序如下: git remote add origin ****.git git push -u origin master 报错,需要先pull git pull origin master 报错 error: failed to push some refs to 2.解决方法 第三步改为 git pull --rebase or…
Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log -p master..origin/mastergit merge origin/master 以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到origin/master分支上   然后比较本地的master分支和origin/master分支的差别   最后进行合并…
git reset.git checkout和git revert是你的Git工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件. 因为它们非常相似,所以我们经常会搞混,不知道什么场景下该用哪个命令.在这篇文章中,我们会比较git reset.git checkout和git revert最常见的用法.希望你在看完后能游刃有余地使用这些命令来管理你的仓库. Git仓库有三个主要组成——工作目录,缓存区和提交历史.这张图有助于理解每个…
查看分支:         $ git branch    该命令会类出当先项目中的所有分支信息,其中以*开头的表示当前所在的分支.参数-r列出远程仓库中的分支,而-a则远程与本地仓库的全部分支. 创建新分支:         $ git branch testing    创建一个名为testing的分支   切换分支:         $ git checkout teting   切换到testing分支上.通过向该命令传递一个-b参数,可以实现创建并切换分支的功能.   合并分支:   …
更新Mac OSX XCode后Git 不能使用提示Can't start Git: /usr/bin/git 解决办法: 终端运行 sudo xcodebuild -license 同意协议就好了.…
分支合并 git checkout adview git merge adview3…
对于我来说,最开始使用github主要是为了使用它的pages功能展示demo.其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其实是各种原因下不了客户端,正好给我一个探索terminal方式的机会. 1.github账号注册 & msysgit的安装 言归正传,简单介绍下怎样利用git bash操作远端的github代码.首先得有git和github的基本概念,git是版本控制工具,而github相当于一个"免费&q…
1.配置本地git $git config --global user.name "xxx" $git config --global user.email "xxxxxx@xxx" 2.生成密钥 $ssh-keygen -t rsa -C "xxxxxxx@xxx" 生成过程中需要创建密码,可以回车省略. 3.在github添加密钥 打开生成的id_rsa.pub,复制粘贴到Git@OSC的SSH公钥. 4.连通性测试 $ssh -T git@…
Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 ----------------------------------- 他们的 原理 如下: 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们…
导读 在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题.快来试试吧. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个被称为 HEAD 的 标记来确定(如磁带录音机或录音播放器的播放头).要在你的 Git 时间线上前后移动 HEAD ,需要使用 git checkout 命令. git checkout 命令的使用方式有两种.最常见的用途是从一个以前的提交中恢复文件,你也可以整个倒回磁带,切换到另…
原文: http://gitbook.liuhui998.com/4_10.html 一.保证git良好的性能 在大的仓库中, git靠压缩历史信息来节约磁盘和内存空间. 压缩操作并不是自动进行的, 你需要手动执行 git gc: $ git gc 压缩操作比较耗时, 你运行git gc命令最好是在你没有其它工作的时候. 二.保持git的可靠性 git fsck 运行一些仓库的一致性检查, 如果有任何问题就会报告. 这项操作也有点耗时, 通常报的警告就是"悬空对象"(dangling…
来源:廖雪峰 让Git显示颜色 git config --global color.ui true 忽略特殊文件 有些文件有敏感信息,或者是自动生成的中间文件.不能或不必提交到git,可以用.gitignore文件配置忽略不上传的文件 一个.gitignore例子,.gitignore本身要提交到git # Windows: Thumbs.db ehthumbs.db Desktop.ini # Python: *.py[cod] *.so *.egg *.egg-info dist build…
git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交    * git revert HEAD                  撤销前一次 commit    * git revert HEAD^               撤销前前一次 commit    * git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一…
git的几种回滚 git revert 和 git reset的区别:强烈建议:对HEAD不熟的话最好不要用HEAD,直接用commitID吧,我遇到的问题:reset HEAD~1之后,可能是别人提交了 修改的,导致出现很多不是我做的修改记录需要提交.1.回滚版本,但是会在commit记录中新加一条记录revert的commit记录:git revert HEAD~1 执行 之后,会有提交信息, 提交后git log 2.回滚版本,保留本地的修改记录,可以重新直接commit用:git res…
git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次子项目修改了后要init和update.万一哪次没update就直接"commit -a" 或者 "add ." 全commit上去就悲剧了. git subtree虽然比git submodule更好用,但也不是特别完美的解决方案,使用时一定要特别注意. git-su…
git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记 1.2 git branch -r 查看远程版本库分支列表 1.3 git branch -a 查看所有分支列表,包括本地和远程 1.4 git branch dev 创建名为dev的分支,创建分支时需要是最新的环境,创建分支…
Git merge的用法: git merge Dev // Dev表示某分支,表示在当前分支合并Dev分支 git merge -m  "Merge from Dev"  Dev //-m可以加上merge时要添加的描述性语句,如果出现冲突,那么先解决冲突,再将文件git add,git commit,之后再merge  Git rebase的用法: 与merge的形式一样,git rebase dev,作用也一样是在当前分支合并Dev分支,如果git rebase遇到冲突,第一步当…
个人博客地址:  http://www.iwangzheng.com/ 推荐一本非常好的书 :<Pro Git>  http://iissnan.com/progit/ 构造干净的 Git 历史线索  http://codecampo.com/topics/379 git pull = git fetch + git merge against tracking upstream branch. git pull --rebase = git fetch + git rebase agains…
rebase 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git commit $ vi otherfile.txt $ git commit ... 但是与此同时,有些人也在"origin"分支上做了一些修改并且做了提交了. 这就意味着"ori…
Git常用操作命令收集: git clonegit git remote -v git remote add [name] [url] git remote rm [name] git remote set-url --push[name][newUrl] git pull [remoteName] [localBranchName] git push [remoteName] [localBranchName] 查看本地分支:$查看远程分支:$创建本地分支:$切换分支:$创建新分支并立即切换到…