使用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. MVVM模式和在WPF中的实现(二)数据绑定

    MVVM模式解析和在WPF中的实现(二) 数据绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  2. DDR的前世与今生(一)

    作者:一博科技 DDR SDRAM全称为Double Data Rate SDRAM,中文名为"双倍数据率SDRAM".DDR是在原有的SDRAM的基础上改进而来,严格的说DDR应 ...

  3. .net 大型分布式电子商务架构说明

    .net大型分布式电子商务架构说明 背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便 ...

  4. ,net core mvc 文件上传

    工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvi ...

  5. StatePattern(状态模式)

    /** * 状态模式 * @author TMAC-J * 状态模式和策略模式很像,其实仔细研究发现完全不一样 * 策略模式各策略之间没有任何关系,独立的 * 状态模式各状态之间接口方法都是一样的 * ...

  6. MySQL常用命令

    数据库登陆命令: mysql -uroot -p 2.提示输入密码: 3.登陆成功: 4.数据库修改相关命令: 修改数据库的编码格式: 语法格式为:ALTER {DATABASE|SCHEMA}  [ ...

  7. opengl 笔记(2)

    /*- * Opengl Demo Test * * Fredric : 2016-7-10 */ #include <GLUT/GLUT.h> #include <stdlib.h ...

  8. 高性能的关键:Spring MVC的异步模式

    我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚. 什 ...

  9. ABP(现代ASP.NET样板开发框架)系列之8、ABP日志管理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之8.ABP日志管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  10. 埃尔米特插值问题——用Python进行数值计算

    当插值的要求涉及到对插值函数导数的要求时,普通插值问题就变为埃尔米特插值问题.拉格朗日插值和牛顿插值的要求较低,只需要插值函数的函数值在插值点与被插函数的值相等,以此来使得在其它非插值节点插值函数的值 ...