git常用操作命令
使用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常用操作命令的更多相关文章
- Git常用操作命令与图解
Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...
- 2018.4.23 git常用操作命令收集(转)
Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...
- Git常用操作命令收集
Git常用操作命令收集 1.进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远 ...
- 记录git常用操作命令
GIT的常用操作 0.写在前面 作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能.git 相较 SVN 而言,其优点不言而喻.git 的功能非常强大,其包括的操作命令也非常的多,但是 ...
- git 常用操作命令
A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename> --- 单个文件添加git add * --- 全部文件添加 C. 提 ...
- git常用操作命令使用说明
设置用户名和邮箱 git config --global user.email 'xxx' git config --global user.name 'xxx' 创建分支 git branch xx ...
- git 常用操作命令行
mkdir files : 创建一个名字为files的文件夹 cd files : 切换目录到files pwd ; 显示当前所在目录 ls -ah : 查看本地隐藏不可见的文件夹 git init ...
- git常用操作命令2
以github为例,测试本地库与远程库github之间的交互 1. 本地初始化一个git库 创建一个test文件夹,然后cd到test文件内, 执行git init命令 初始化本地库成功!! ...
- git常用操作命令1
1. 本地库初始化操作 命令: git init 效果: Initialized empty Git repository in E:/ws/git/ws/.git/ 会在当前目录(E:/ws/git ...
随机推荐
- Fis3的前端工程化之路[三大特性篇之内容嵌入]
Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- 餐饮连锁公司IT信息化解决方案一
从餐饮企业的信息化需求来说,没有哪一种解决方案能满足所有餐饮企业的信息化建设需要.不同的餐饮业态有不同的业务流程,不同业态的信息化解决方案是目前餐饮企业信息化建设急需的,这种一站式整 ...
- (转) 将ASP.NET Core应用程序部署至生产环境中(CentOS7)
原文链接: http://www.cnblogs.com/ants/p/5732337.html 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Cor ...
- 安装devtoolset
在运维的工作内,经常要编译安装各种开源组件,以CentOS 6的用户来说,大部分时候用到gcc的时候都是4.4.7版本的,在绝大多数情况下编译一些东西还是够用的,但还是有个别软件对gcc的版本是有要求 ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
- Linux下的C Socket编程 -- server端的继续研究
Linux下的C Socket编程(四) 延长server的生命周期 在前面的一个个例子中,server在处理完一个连接后便会立即结束掉自己,然而这种server并不科学啊,server应该是能够一直 ...
- 我将系统从Windows迁移至Linux下的点点滴滴
一.写在最前 由于本人的技术水平有限,难免会出现错误.本文对任何一个人有帮助都是我莫大的荣幸,任何一个大神对我的点拨,我都会感激不尽. 二.技术选型 在2013年8月低的时候,公司中了XXX市场监督局 ...
- U3D DrawCall优化手记
在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...
- egret GUI 和 egret Wing 是我看到h5 最渣的设计
一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type ...