本人是参考廖雪峰的git学习的。他写的非常详细,我在这里就是把我学习中的总结以及碰到的坑写出来。

/* 初始化git仓库:git init */

/* 添加文件到git仓库 */

分两步:

  第一步:追踪文件:git add <file> 或者 git add .  ,注意多次使用,添加多个文件。

  第二步:提交记录:git commit -m "提交记录",完成。

/* 查看工作区的状态:git status */

  如果git status告诉你有文件被修改过,用git diff可以查看修改的内容。

/* 版本回退 */

git reset --hard commit_id可以让我们在版本的历史之间穿梭。

回退到之前版本,用git log查看提交历史。

从历史版本回退到未来版本,用git reflog来查看命令历史。

/* 撤销修改 */

如果不小心改乱了某个文件的内容,想直接丢弃工作区的修改后,用git checkout --file.

如果不但改乱了 工作区某个文件的内容,还添加到了暂存区,想丢弃修改。

分两步:

  第一步:git reset head file,

  第二步:git checkout --file.

/* 删除文件:git rm(尽量别用) */

/* 构建远程仓库 */

1.创建SSH Key(如果用户目录下没有.ssh目录,或者有了.ssh目录但是没有id_rsa和id_rsa.pub,其中id_rsa是私钥,is_rsa是公钥(这个可以随便告诉别人))
  ssh -keygen -t rsa  -C “yo uremail@example.com”
 
  /* 保存密码 */
  eval “$(ssh-agent -s)”
  ssh-add ~/.ssh/id_rsa
 
  /* 验证key */
  ssh -T git@github.com
2.登录git.oschina.com 打开ssh公钥页面,然后在key广本框里粘贴id_rsa.pub的内容
 
/* 关联远程库 */
  第一步:在本地的仓库下运行命令
  git remote add origin https://git.oschina.net/wuhongxing/gcd.git
  第二步:把所有的本地库的内容推到远程库上
  git push -u origin master(第一次)  之后每次可以git push origin master
/* 从远程库克隆 */
  要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
  Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
  git clone https://git.oschina.net/wuhongxing/gcd.git
 
/* 分支管理 */
  Git鼓励大量使用分支:
  查看分支:git branch
  查看所有分支(包括远程分支):git branch -a
  创建分支:git branch <branch-name>
  切换分支:git checkout <branch-name>
  创建+切换分支:git checkout -b <branch-name>
  合并某分支到当前分支:git merge <branch-name>
  合并某分支到当前分支(普通模式):git merge --no-ff -m "提交记录" <branch-name>
  取消合并:git merge -abort
  删除分支:git branch -d <branch-name>
  删除远程分支:git push origin :<branch-name>(origin后面的空格不能少)
 
 
/* bug分支 */
  git stash把当前工作现场“储藏”起来,等以后恢复现场后继续工作
  git stash list可以查看刚刚储藏的工作现场
  git stash apply恢复,但是不删除stash的内容,用git stash drop来删除
  git stash pop恢复的同时删除stash的内容
 
 
/* feature分支 */
  开发一个新的feature,最好新建一个分支
  如果要丢弃一个没有被合并过的分支,可以通过git branch -d <name>强行删除
 
 
/* 多人合作 */
  git remote或者 git remote -v
  从本地推送分支,使用git push origin branch-name,如果推送失败,选用git pull抓取远程的新提交
  在本地创建和远程分支对应的分支git checkout -b branch-name origin/branch-name
  建立本地分支和远程分支的关联git branch —set-upstream branch-name origin/branch-name
  从远程抓取分支,使用git pull,如果有冲突,要先处理冲突
 
/* 最后比较好玩的自定义log */
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

iOS开发之git学习的更多相关文章

  1. IOS开发之XCode学习011:UISwitch控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIswitch控件,添加UIswitc ...

  2. IOS开发之XCode学习009:UIViewController使用

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 通过点击屏幕事件,调用ViewController ...

  3. IOS开发之XCode学习007:UIWindow对象

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm #import "AppDelegate.h" @i ...

  4. IOS开发之XCode学习012:Slider和ProgressView

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UISlider和UIProgressV ...

  5. IOS开发之XCode学习010:定时器和视图对象

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.通过点击"启动定时器"按钮 ...

  6. IOS开发之XCode学习008:UIViewController基础

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 红色框选部分用A代替,AppDelegate类在程序框架启动时,如果在i ...

  7. IOS开发之XCode学习013:步进器和分栏控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIStepper和UISegmente ...

  8. IOS开发之XCode学习014:警告对话框和等待提示器

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.警告对话框和等待提示器的概念 2.警告对话框 ...

  9. iOS开发之CocoaAsyncSocket学习

    本文转载至 http://blog.csdn.net/l_ch_g/article/details/17050757 AsyncSocket AsyncSocket类是支持TCP的AsyncUdpSo ...

随机推荐

  1. HDU 2030 统计汉字

    BestCoder官方群:385386683 欢迎加入~ 寻人启事:2014级新生看过来! 汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  2. JavaScript与Java的区别

    关于java和javascript的关系,我曾在一个论坛上看过这样一句话,java和javascript的关系,就好比雷锋和雷峰塔的关系,实在是经典! 因为名字的关系,总是有人误以为Javascrip ...

  3. ios9基础知识(技能篇)

    NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver ...

  4. hdu2206IP的计算

    Problem Description 在网络课程上,我学到了很多有关IP的知识.IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方 ...

  5. tomcat中的URL参数为中文,servlet接收后显示乱码

    URL中参数的值为中文时,servlet接收后显示为乱码,如下图: 这时候需要修改tomcat的中的server.xml文件.该文件路径为 tomcat安装目录下的conf文件夹.   为修改前的se ...

  6. java 包之 BeanUtils包的使用

    BeanUtils工具包是由Apache公司所开发,主要是方便程序员对Bean类能够进行简便的操作. 在使用BeanUtils工具包之前我们需要的Jar包有以下几种: (1)   BeanUtils相 ...

  7. HDU 1056 - HangOver

    递推 #include <iostream> using namespace std; ]; double c; int main() { f[]=; ;i<=;i++) f[i]= ...

  8. HDU-1049

    Description An inch worm is at the bottom of a well n inches deep. It has enough energy to climb u i ...

  9. has leaked ServiceConnection com.baidu.location.LocationClient

    02-06 05:01:52.806: E/ActivityThread(1120): Activity com.project.xxxActivity $1@45fc5af8 that was or ...

  10. Ubuntu14.04右键菜单添加Sublime 2打开选项

    序 Ubuntu上安装Sublime的时候直接下载的压缩包(软件中心里没有找到Sublime),于是每次想用Sublime打开一个文件的时候就得先打开Sublime然后从File -> Open ...