团队从Eclipse迁移到Android Studio之后,也从SVN迁移到Git了。

一直忙于需求迭代无暇做迁移,现在才开始做,相见恨晚,好东西,高大上,词穷。

回顾和记录一下git的一些基本操作。下面完成这样一个流程:

远程机器创建git仓库 --> 本地机器创建git仓库 -->从本地仓库推代码到远程仓库 --> 从远程仓库把代码clone到本地新的仓库。

//先查看git装了没有
[user@remotemachine /]# git //设置全局参数
[user@remotemachine /]# git config --global user.name "User"
[user@remotemachine /]# git config --global user.email "xxx@xxx.com" //创建一个目录
[user@remotemachine /]# mkdir Git001 //进入目录
[user@remotemachine /]# cd Git001/ //初始化为一个git仓库,这里有坑
[user@remotemachine Git001]# git init
Initialized empty Git repository in /Git001/.git/ //用上面的方式创建的仓库是一个non-bare的仓库,是无法push本地仓库到这个non-bare仓库的,可参考bare and non-bare. //所以要初始化一个bare的git仓库作为远程仓库
[user@remotemachine Git002]# git init --bare
Initialized empty Git repository in /Git002/
//查看一下(可带着-ah查看)
[user@remotemachine SwiftLearning]# ls
branches config description HEAD hooks info objects refs 到现在远程git仓库就创建好了,下面来创建本地仓库并push到这个远程仓库。 //初始化git,这里就不用bare了
LocalMachine:GitA viyu$ git init
Initialized empty Git repository in /xxx/.git/ //查看git仓库的状态
LocalMachine:GitA viyu$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
Swift002.playground/
[...省略]
nothing added to commit but untracked files present (use "git add" to track) //添加一个文件到本地仓库
LocalMachine:GitA viyu$ git add swift001.playground/ //添加所有文件到本地仓库
LocalMachine:GitA viyu$ git add . //再次查看git状态
LocalMachine:GitA viyu$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: Swift002.playground/Contents.swift
[....省略] //提交到本地仓库,不亏是分布式仓库,这就提交了
LocalMachine:GitA viyu$ git commit -m "add all learning file to git"
20 files changed, 377 insertions(+) //再次查看git状态
LocalMachine:GitA viyu$ git status
On branch master
nothing to commit, working directory clean //push本地仓库到上面建立的远程仓库,先链接
LocalMachine:GitA viyu$ git remote add origin ssh://user@remotemachine/Git002 fatal: remote origin already exists.
//假如报上面这个错误,origin已经存在了,要么另起一个名字,要么更新之:
LocalMachine:GitA viyu$ git remote set-url origin ssh://user@remotemachine/Git002 //再推送
LocalMachine:GitA viyu$ git push origin master 现在已经把本地仓库推送到远程仓库了,下面再从远程仓库clone下来到一个新的本地仓库 //先初始化
ViyudeMacBook-Pro:gittest viyu$ git init //再克隆
ViyudeMacBook-Pro:gittest viyu$ git clone ssh://user@remotemachine/Git002 //查看状态
ViyudeMacBook-Pro:gittest viyu$ git status //查看总共几个分支
ViyudeMacBook-Pro:gittest viyu$ git branch
* master 待续...

Git命令回顾的更多相关文章

  1. android Git命令家底儿及Git数据通信原理详解

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载. 现在大部分使用的都是SVN,也有一部分迁移了Git,虽然挺好的,不过还有其它很多版本控制的工具,并没有谁最好用,最重要的是适合自己的公 ...

  2. 常用git命令(一)

    git add 命令. 这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等. 将这个命令理解为“添加内容到下一次提交中”而不是“将一 ...

  3. 常用 Git 命令使用教程

    下面整理一下自己在开发过程中经常使用到的 Git 命令.使用 GUI 工具的同学,也可以对照起来看看. Git 配置 1. 在安装完成 Git 后,开始正式使用前,是需要有一些全局设置的,如用户名.邮 ...

  4. Python 命令行之旅:使用 argparse 实现 git 命令

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  5. Python 命令行之旅:使用 docopt 实现 git 命令

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  6. Python 命令行之旅:使用 click 实现 git 命令

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  7. Google 开源的 Python 命令行库:fire 实现 git 命令

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  8. 程序员必备基础:Git 命令全方位学习

    前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https: ...

  9. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

随机推荐

  1. linux tcp超时重传实现分析

    kernel version 3.18.20 1.函数调用关系 tcp_ack-> tcp_clean_rtx_queue-> tcp_ack_update_rtt-> tp-> ...

  2. sublime 插件

    由于之前的代码可视化方案太复杂,分析时间太长,不实用,另一方面是而且工作以后业余时间大大减少,因此决定放弃原有路线,从工作中最迫切的需求着手,逐步构建一个实用的工具. 新的方法仍然依赖understa ...

  3. JS中判断null、undefined与NaN的方法

    写了个 str ="s"++; 然后出现Nan,找了一会. 收集资料如下判断: 1.判断undefined: 代码如下: <span style="font-siz ...

  4. ts 格式化日期输出

    功能 像C#中DateTime的ToString的格式化输出一样,在js/ts中输出格式化的日期字符串 网上很多正则的,不加分隔符就不行了,和C#的格式也不一样 刚接触js/ts没两月,可能会有问题. ...

  5. SQLite剖析之编程接口详解

    前言 使用过程根据函数大致分为如下几个过程: sqlite3_open() sqlite3_prepare() sqlite3_step() sqlite3_column() sqlite3_fina ...

  6. 【JSON】JavaScript删除json元素

    1.json中的两种结构:对象{}和数组[] 2.直接delete json对象[元素名称].

  7. 教你一招:Win10切换输入法与Win7一样(Ctrl + 空格)

    对于win10的朋友,大部分人对输入法都不习惯,如果你把英语输入法删除了,在中文输入法里没有美式键盘,让ctrl+空格与ctrl+Shift都能在搜狗输入法和美式键盘切换.下面小编就教你怎么让Win1 ...

  8. gulp-rev-collector自定义修改rev-manifest.json后替换不成功的问题分析

    由于项目需要,我要把common.js替换成build.min.js,接着后面才用到build.min.js=>build-te234ds.min.js这样的形式替换,但是我发现怎么替换都不能把 ...

  9. bzoj2228[ZJOI2011]礼物(gift)

    据说联赛之前写题解可以涨RP 这题的输入格式半天没看懂-其实是有q层摞在一起,每一层大小都是p*r,依次输入q层的情况.那么首先我们枚举三种挖方块的姿势,分别使切出的方块的上面/前面/右面是正方形的面 ...

  10. elk系列7之通过grok分析apache日志

    preface 说道分析日志,我们知道的采集方式有2种: 通过grok在logstash的filter里面过滤匹配. logstash --> redis --> python(py脚本过 ...