使用git进行版本控制,分为两部分:

一: 服务端

1.1 首先要申请一个git的账号,方便团队协作。推荐开源中国(www.oschina.net),相对于github来说,有两个优点:1.访问速度很快。2.支持免费私有项目。

二:客服端

2.1 如果是windows平台,需要安装一个git工具。推荐使用命令行的bash工具。

一切准备好之后,开始创建自己的版本管理之路

--------------------------------------------------------------------------------------------------------------------------------------------------------------

新建一个文件夹,作为git的管理目录。比如d:/myobject。接着进入bash的命令行模式.

第一步:配置git的账号和邮箱

git config --global user.name "xxxx"

git config --global user.email "xxxx@xxx.xxx"

--global参数是指定全局可用。

第二步:创建sshkey

ssh-keygen -C "xxxx@xxx.xxx" -t rsa

然后一路回车,在C:\Users\xxxx\.ssh目录下,会有两个文件,其中id_rsa.pub就是公钥,用记事本打开,把里边的内容复制一下。然后登陆git服务器。在个人设置中,点ssh公钥,然后粘进去保存。这样环境就搭建好了。

ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub 或 id_dsa,id_dsa.pub , 这是本机向远程提交代码而不需要输密码所必需的。

最后就是本地代码的提交和拉取等操作了。常用的命令会如下:

1. 添加一个文件到本地git版本库的缓存区

git add xxx , 如果有多个文件,可以重复这个命令,也可以用 git add . 代表所有要进行管理的文件。这个点号很重要。

2. 从本地版本库中删除一个文件

git rm xxx, 如果想要删除全部,可以这样:git rm -r .

如果xxx文件还没有添加到版本库中,可以直接rm xxx

如果刚使用git add xxx命令,则需要用git rm xxx -f

不小心纳入仓库后,要移除跟踪但不删除文件,以便稍后在 .gitignore 文件中补上,用 --cached 选项即可:

$ git rm --cached xxxx

3. 把刚才删除的文件还原到最近的一个版本

git reset --hard HEAD

git reset --hard HEAD^ 上一个版本

git reset --hard xxxxx 提交id 或 tag

4. 撤销某个文件的更改

git checkout xxxx,如果要一次性还原所有改动的文件,除了reset之外,还可以用git checkout . 请记住这个万能的点

git checkout origin/master 从远程服务器恢复文件,本地改动的文件会还原。

5. 把缓存区的文件正式的提交到本地版本库

git commit -m "版本说明"

6. 把本地版本提交到远程服务器

git push origin master

这里问题来了,这个origin表示什么?master又是神马?

首先origin表示远程服务器名,默认就是origin,既然是默认,肯定也就可以改名,后面再说。

远程服务器的添加,有两种方式,一种是自己在git服务器上创建一个新的。在本地用git remote add xxxxx.xxx.git 的方式进行添加,还有一种是克隆别人服务器,或自己服务器上已有的。git clone xxxxx.xxxx.git, 这里的xxxx.xxxx.git表示远程服务器的地址。一般来说,有两种形式,一种是https形式,比如

https://xxx.xxx.xxx.git,还有一种是ssh形式,如git@xxx.xxx.xxx.git,需要强调的是,https方式的主机,每次提交都需要输用户名和密码。所以我一般用ssh开式。除非网络环境不支持ssh方式。

添加成功之后,可以用 git remote -v 查看,如果能看到一个push/fetch 这样的地址,说明成功了。

master 是默认的主分支名,git上可以有很多的分支,关于分支的内容,后面再细说

7. 从服务器上更新本地代码

git pull origin master

有的书上说,最好是先git fetch origin master , 然后用git merge master ,这样可以看到是否有冲突。我个人觉得这没有什么道理。有冲突会提示的。

8. 创建分支

git checkout -b xxxx

创建一个xxxx的分支,并切换到这个分支下。等价于先 git branch xxxx , 然后 git checkout xxxx

9.推送本地分支

git push origin xxxx

这里是假设已经在本地的xxx分支上了。

10.删除远程分支

git push --delete origin xxxx

11. 删除本地分支

git branch -d xxxx ; 注意,这里要先退出xxxx分支。 如果有改动。则用 -D 强制删除。

git常用操作命令的更多相关文章

  1. Git常用操作命令与图解

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  2. 2018.4.23 git常用操作命令收集(转)

    Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...

  3. Git常用操作命令收集

      Git常用操作命令收集 1.进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远 ...

  4. 记录git常用操作命令

    GIT的常用操作 0.写在前面 作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能.git 相较 SVN 而言,其优点不言而喻.git 的功能非常强大,其包括的操作命令也非常的多,但是 ...

  5. git 常用操作命令

    A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename>  --- 单个文件添加git add * --- 全部文件添加 C. 提 ...

  6. git常用操作命令使用说明

    设置用户名和邮箱 git config --global user.email 'xxx' git config --global user.name 'xxx' 创建分支 git branch xx ...

  7. git 常用操作命令行

    mkdir files : 创建一个名字为files的文件夹 cd files : 切换目录到files pwd ; 显示当前所在目录 ls -ah : 查看本地隐藏不可见的文件夹 git init ...

  8. git常用操作命令2

    以github为例,测试本地库与远程库github之间的交互 1. 本地初始化一个git库     创建一个test文件夹,然后cd到test文件内, 执行git init命令  初始化本地库成功!! ...

  9. git常用操作命令1

    1. 本地库初始化操作 命令: git init 效果: Initialized empty Git repository in E:/ws/git/ws/.git/ 会在当前目录(E:/ws/git ...

随机推荐

  1. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  2. 干货分享:SQLSERVER使用裸设备

    干货分享:SQLSERVER使用裸设备 这篇文章也适合ORACLE DBA和MYSQL DBA 阅读 裸设备适用于Linux和Windows 在ORACLE和MYSQL里也是支持裸设备的!! 介绍 大 ...

  3. [NodeJS] 优缺点及适用场景讨论

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  4. sublime常用快捷键

    自己觉得比较实用的sublime快捷键: Ctrl + /  ---------------------注释 Ctrl + 滚动 --------------字体变大/缩小 Ctrl + N----- ...

  5. 深究标准IO的缓存

    前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了 ...

  6. SQL Server-聚焦NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL性能分析(十八)

    前言 本节我们来综合比较NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL的性能,简短的内容,深入的理解,Always to review the basics. ...

  7. 多线程 异步 beginInvoke EndInvoke 使用

    有许多耗时操作时,还要响应用户操作.这时候就需要用其他线程或者异步来搞.本来是改造公司的日志组件.因为多上了个国外大区的业务到来本系统来.这个系统其他地方都好就是日志,动不动就要死给我们看.有时候寻找 ...

  8. 【Java大系】Java快速教程

    感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品.James Gosling领 ...

  9. “风投云涌”:那些被资本看中的IT企业的风光与辛酸

         进入七月份以来,纷享销客获得D轮融资1亿美元,撼动业界,资本与IT联姻令一部分创业者眼红的同时,没有人注意到背后的风险. 科技与资本的结合,是当今经济社会前行的宏大主题.相关统计显示,软件行 ...

  10. ios 获取或修改网页上的内容

    UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌     入页面中,通过这个方法我们可 ...