本人是参考廖雪峰的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. CATransform3D参数的意义

    经常忘记CATransform3D各参数的意思,记下来好好理解下   struct CATransform3D { CGFloat m11(x缩放),m12(y切变),m13(旋转),m14(); C ...

  2. RMAN数据库恢复之控制文件和参数文件恢复

    一.控制文件的恢复1.查询控制文件的路径 SQL> SELECT * FROM V$CONTROLFILE; STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SI ...

  3. 查看并设置oracle并发连接数

    1.Sql代码1.select count(*) from v$process  select count(*) from v$process --当前的数据库连接数2.Sql代码1.select v ...

  4. Stack的三种含义(转载--阮一峰)

    作者: 阮一峰 学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈". 理解这个概念,对于理解程序的运行至关重要.容易混淆的是,这个词其实有三种含义,适用于不同的场合 ...

  5. 大数值基础、for与while循环的简单对比

  6. Aandroid Error之 新导入工程报Unable to resolve target 'android-18'和R cannot be resolved

    有段时间没有写安卓了,今天导入以前的项目,结果看到控制台打印出了这样一句:Unable to resolve target 'android-18', 解决方法: 项目->属性->Andr ...

  7. iphone iOS7恢复到iOS6教程

    步骤一:首先根据您iOS设备型号,下载最新的iOS 6固件,您可以进入苹果官网下载,也可以以下网址下载. http://sj.zol.com.cn/ios613/

  8. 关于ajax发送的数据问题

    今天在做保存富文本编辑器的内容时,发送了一个ajax请求: $.ajax({ type:"POST", url:"{% url 'cms:add' %}", d ...

  9. 注册表添加python

    win(python2.7)下: 执行此文件 #!/usr/bin/env python # encoding:utf-8 # # script to register Python 2.0 or l ...

  10. Azure上Linux VM DDOS攻击预防: 慢速攻击

    在上篇博客(http://www.cnblogs.com/cloudapps/p/4996046.html)中,介绍了如何使用Apache的模块mod_evasive进行反DDOS攻击的设置,在这种模 ...