1.创建一个新的repository:

$cd ~/hello-world        //到hello-world目录,本地目录名与repository的名字不一定相同

$git init                    //初始化

$git add .                  //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件,见下文)

$git commit              //提交到本地仓库,然后会填写更新日志( -m “更新日志”也可,如$git commit -m “my first vesion of ...”)

$git remote add origin git@github.com:WadeLeng/hello-world.git        //增加到remote

$git push origin master    //push到github上

2.更新项目(新加了文件):

$cd ~/hello-world

$git add .                  //这样可以自动判断新加了哪些文件,或者手动加入文件名字

$git commit              //提交到本地仓库,不加参数会提示,注意:^=Ctrl,按照提示来就好了~~~

$git push origin master    //不是新创建的,不用再add 到remote上了

3.更新项目(没新加文件,只有删除或者修改文件):

$cd ~/hello-world

$git commit -a          //记录删除或修改了哪些文件

$git push origin master  //提交到github

4.忽略一些文件,比如*.o等:

$cd ~/hello-world

$vim .gitignore    //把文件类型加入到.gitignore中,保存

然后就可以git add . 能自动过滤这种文件

5.clone代码到本地:

$git clone git@github.com:WadeLeng/hello-world.git

假如本地已经存在了代码,而仓库里有更新,把更改的合并到本地的项目:

$git fetch origin    //获取远程更新

$git merge origin/master //把更新的内容合并到本地分支

6.撤销

$git reset

7.删除

$git rm  * // 不是用rm

//------------------------------常见错误-----------------------------------

1.$ git remote add origin git@github.com:WadeLeng/hello-world.git

错误提示:fatal: remote origin already exists.

解决办法:$ git remote rm origin

然后在执行:$ git remote add origin git@github.com:WadeLeng/hello-world.git 就不会报错误了

2. $ git push origin master

错误提示:error:failed to push som refs to

解决办法:$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。

//------------------------------------------------------------------------------

了解github

1 Git简介
 

Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚到另外一个状态(历史记录状态)。对 于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改 (modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂 存表示把已修改的文件放在下次提交时要保存的清单中。

2 Git命令基本格式
 

一般情况下,Git的命令都是git [command] [option] [argument]格式。其中 command指的是某种操作命令,比如config,mv,rm,pull,push等等。而option和 argument指的是操作命令后面的具体参数,比如:

git config --golobal user.name="hic" 其中,config指的就是配置命令,接着后面跟上配置的具体参数,其中–global指的是对全局配置生效,后面的user.name就是对用户名进行设置。

3 配置文件
 

配置文件是从事所有所有工作的基础,在这里配置文件决定了工作时候的用户,邮箱,以及默认编辑器等等常用的配置参数,下面就先说一说配置文件。

在Git中,配置文件有三大类,分别放在不同的位置。

/etc/gitconfig
 
系统中所有用户都普遍适用的配置。git config –system就是用来配置这个文件的。
 
 ~/.gitconfig
 
用户目录下的配置文件,该文件只适用于该用户。git config –global就是用来配置这个文件的。
 
~/*/.git/config
 
这是当前项目的配置文件,仅对该项目适用。

注意:每一级别的配置,都会覆盖上层的相同配置。

3.1 配置信息
 

用户名设置

git config --system user.name "hic"
git config --global user.name "hic" git config user.name "hic"

电子邮件

git config --global user.email "hic@gmail.com"

设置文本编辑器,默认为vi,这里设置为emacs

git config --global core.editor emacs

查看配置信息

git config --list

如果要查看某个特定的环境变量,只要把它的名字放到最后即可

git config user.name
 
 
4 选择工作目录
 

选择一个工作目录,开始工作,同时我们添加一些文件和目录。

~$ mkdir test
~$ cd test/
~/test$ ls
~/test$ echo "Hello world! " > README
~/test$ echo "This is a test! " > file
 
 
5 初始化
 
 
~/test$ git init Initialized empty Git repository in /home/hic/test/.git/
~/test$ la file .git README

执行这条命令之后,在test目录下会出现一个隐藏的.git目录,该目录会保存工程中所有的信息。

9 分支
 

如果事先没有作出任何的更改,一个项目是没有分支的,它只有一条主线,例如:

~/test$ git branch * master

这里master就是主干,就是整个开发的流程,它前面的星号表示当前开发的流程。

如果在开发过程中,我们突然需要添加某个功能,或者打上某个补丁,可以在 master主干上添加一个分支,比如host,例如:

~/test$ git checkout -b host
Switched to a new branch 'host'
~/test$ git branch
* host master

这个时候,你可以清楚的看到星号已经在host头上,表示当前已经切换到host上,你可以开发你的补丁,而不会打乱主干的开发。

如果你在开发过程中想要回到主干,可以使用checkout命令进行切换。

~/test$ git checkout master
Switched to branch 'master'

此时,你又回到主干了。

10 合并
 

当某个分支的开发结束后,你会需要将其合并到主干上,从而集中精力进行主干的开发。合并前只需要将指针切换到主干,即master,然后使用merge命令。

~/test$ git checkout host Switched to branch 'host'
~/test$ echo "lsdknl" >> file
~/test$ git add file
~/test$ git commit file -m "add somthing"
[host 0dacfd9] add somthing 1 file changed, 1 insertion(+)
 
~/test$ git checkout master Switched to branch 'master'
~/test$ git merge host Updating 81fde76..0dacfd9 Fast-forward file | 1 + 1 file changed, 1 insertion(+)

此时的host分支已经失去作用了,可以将删除。

~/test$ git branch -d host Deleted branch host (was 0dacfd9).
11.1 查看当前远程库
 
git remote
 
 
11.2 添加远程库
 
git remote add emacs git://github.com/lishuo/emacs
 
 
11.3 从远程库抓取数据
 
git fetch [remote-name]
 
 
11.4 推送数据到远程仓库
 
git push [remote-name] [branch-name]
 
 
11.5 查看远程仓库
 
git remote [remote-name]
 
 
11.6 远程仓库的删除和重命名
 
git remote rm [remote-name] git remotw rename form-name to-name
 
 
 

github常用操作的更多相关文章

  1. Git与GitHub常用操作

    --------------------------基本操作--------------------------clone 拷贝远程仓库commit 本地提交push 远程提交pull 更新本地--- ...

  2. GitHub使用笔记2:github常用操作

    1: 绑定ssh keys 2:github新建仓库 echo "# SpringStack" >> README.md git init git add README ...

  3. git、github常用操作

    1.将github项目拷贝到本地 $ git clone https://github.com/jim2500/miaosha_project.git 2.修改本地项目上传到github T470s@ ...

  4. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  5. Linux常用操作练习

    Linux常用操作练习 练习一:安装CentOS 1.设置为1G内存(才有图形界面).10G硬盘 2.分给交换分区2G(4G一下2G,8G-32G分4G-8G) 练习二:安装CentOS迷你版 1.安 ...

  6. git报错:'fatal:remote origin already exists'怎么处理?附上git常用操作以及说明。

    git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1.先删除 $ git remote rm origin 2.再次执行添加就可以了. ---------------------- ...

  7. 版本控制工具——Git常用操作(上)

    本文由云+社区发表 作者:工程师小熊 摘要:用了很久的Git和svn,由于总是眼高手低,没能静下心来写这些程序员日常开发最常用的知识点.现在准备开一个专题,专门来总结一下版本控制工具,让我们从git开 ...

  8. golang二进制bit位的常用操作

    golang作为一热门的兼顾性能 效率的热门语言,相信很多人都知道,在编程语言排行榜上一直都是很亮眼,作为一门强类型语言,二进制位的操作肯定是避免不了的,数据的最小的单位也就是位,尤其是网络中封包.拆 ...

  9. 二叉树的python可视化和常用操作代码

    二叉树是一个重要的数据结构, 本文基于"二叉查找树"的python可视化 pybst 包, 做了一些改造, 可以支持更一般的"二叉树"可视化. 关于二叉树和二叉 ...

随机推荐

  1. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)

    center os服务器上搭建discuz论坛初始化程序的时候出现的.我把localhost改成127.0.0.1解决了这个问题.

  2. 计算机程序的思维逻辑 (53) - 剖析Collections - 算法

    之前几节介绍了各种具体容器类和抽象容器类,上节我们提到,Java中有一个类Collections,提供了很多针对容器接口的通用功能,这些功能都是以静态方法的方式提供的. 都有哪些功能呢?大概可以分为两 ...

  3. jvm系列(二):JVM内存结构

    JVM内存结构 所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能 ...

  4. Oracle从文件系统迁移到ASM存储

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:数据库存储由文件系统迁移到ASM 数据库存储迁移到ASM磁盘组 1.1 编辑参数文件指定新的控制文件路径 1.2 启动数据库到nomo ...

  5. AR创意分享:儿童涂鸦遇上程序绘图

    第一节 临摹 小明经常临摹同桌小美的画作. 美术课上,老师表扬了小美的新作. 图1.1 小美的作品<蒙娜·毛虫的微笑> 临,是照着原作画:摹,是用薄纸张蒙在原作上面画. 第二节 借画 小明 ...

  6. React-Native学习系列(一)

    近段时间一直在忙,所以博客也没有更新,这两天我翻了一下写的这几篇博客,感觉写的都很片面,所以,我想重新写一个系列教程,从最基础的开始,来让大家更容易学会React-Native. 这个系列大部分只介绍 ...

  7. .NET 实现并行的几种方式(一)

    好久没有更新了,今天来一篇,算是<同步与异步>系列的开篇吧,加油,坚持下去(PS:越来越懒了). 一.Thread 利用Thread 可以直接创建和控制线程,在我的认知里它是最古老的技术了 ...

  8. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  9. afxcomctl32.h与afxcomctl32.inl报错

    afxcomctl32.h与afxcomctl32.inl报错 编译公司一个几年前的老项目,是从VC6.0升级到VS2005的. 1.编译时报缺少头文件,于是附件包含目录,于是出现了以下报错: 1&g ...

  10. C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试

    在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相 ...