本内容参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

初学,有什么不对的地方 ,欢迎指出

一、工作区(本地仓库)

1、创建仓库(repository):git init

用法:在文件夹(变成仓库的文件夹)目录下执行 git init

2、添加文件:git add [文件路径]

如:

提交文件:git add test.txt
提交文件夹:git add test
提交任意文件: git add *
提交当前目录所有文件: git add .
添加所有文件,同时将已删除文件从仓库中删除:git add -u
 
3、删除文件:
1)rm [文件路径] 或直接在文件管理器把文件删除
如:rm text.txt
注:恢复文件 git checkout rext.txt
 
2)删除并删除仓库中的版本
git rm [文件路径]
注:
1))恢复文件:git rest HEAD [文件路径]
2))git checkout [文件路径]
 
4、回退版本:git rest hard commit_id
如:git rest --hard 12345
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
 
5、获取最的提交信息:git log
注:可根据返回的日志的id回退版本
如:git rest --hard 12345
 
6、查看命令历史:git reflog
 
7、获取仓库状态信息(增、删、改文件相关信息):git status
 
8、撤销修改(丢弃工作区的修改)git checkout -- [文件]
注:git checkout -- file命令中的--很重要,没有--,就变成了“创建一个新分支”的命令
 
二、远程仓库
1、创建SSH Key
1)在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key,密码是可选项,输入如下命令:
ssh-keygen -t rsa -C "youremail@example.com"
最后将你的公钥交给git管理人
 
2、关联远程版本库
仓库下运行命令:git remote add origin [git地址]
如:git remote add origin git@github.com:michaelliao/learngit.git
 
3、本地库的内容推送到远程:git push -u origin [文件]
如:
git push -u origin master
-u:由于远程库是空的,第一次推送master分支时,会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,
关联后,推送到远程可以把加-u参数
 
4、克隆远程库到本地:git clone [git地址]
如:git clone git@github.com:michaelliao/gitskills.git
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
 
5、分支(branch)
1)创建分支:git branch [分支名]
如:git branch dev
 
2)切换分支:git checkout [分支名]
如:git checkout dev
 
3)创建并切换分支 : git checkout -b [分支名]
如:git check -b dev 
实际上是执行了1) 和2)两条命令
 
4)查看分支:git branch
注:git branch命令会列出所有分支,当前分支前面会标一个*号
 
5) 合并分支到当前分支:git merge [分支名] 
如:git merge dev 
 
6)删除分支:git branch -d [分支名]
如:git branch -d dev
 
7)删除远程分支:
git branch -d [分支名]  //先删除本地分支
git push origin :[分支名]  //再推上服务器
 
 
6、解决冲突
<<<<<<< HEAD(HEAD指向当前分支末梢的提交。)
Creating a new branch is quick & simple.(当前分支中的内容。)
=======
Creating a new branch is quick AND simple.(merge过来的另一条分支上的代码。)
>>>>>>> feature1(分支的名字)
 
7、分支管理策略
1)Fast forward模式(默认):这种模式下,删除分支后,会丢掉分支信息,合并就看不出来曾经做过合并。
2)普通模式(--no-ff参数):普通模式合并,合并后的历史有分支,能看出来曾经做过合并。
如:git merge --no-ff dev (使用普通模式)
 
8、储存/恢复工作区 
1)储存:git stash
2)恢复:
2-1)查看储存信息:git stash list
2-2)恢复:
2-2-1)git stash apply:恢复后,stash内容并不删除,需要用git stash drop来删除;
2-2-2)git stash pop:恢复的同时把stash内容也删了:
用法:git stash apply [stash_id]/git stash pop [stash_id]
如:git stash apply stash@{0}
 
9、丢弃一个没有被合并过的分支(强行删除):git branch -D [分支名]
如:git branch -D dev
注:没有合并过的分支,需求强行删除才可以删除
 
10、查看远程库信息: git remote
-v:查看详情信息
注:没有推送权限,就看不到push的地址 
 
11、推送分支:git push origin [分支名]
 
12、拉取分支:git pull origin [分支名]
 
13、建立本地分支和远程分支的关联:git branch --set-upstream [工作区分支名] origin/[服务器分支名]
如:git branch --set-upstream dev origin/dev
 
14、忽略文件
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
将忽略文件添加版本控制也可以使用命令:git add [文件] -f
 
15、忽略已跟踪的文件 

git update-index --assume-unchange [文件名]

 
 
 
 
 
 
 
 

git基础入门之常用命令操作的更多相关文章

  1. git 快速入门及常用命令

    身为技术人员,都知道Git是干嘛的.从服务端角度它是代码仓库,可以多人协作.版本控制.高效处理大型或小型项目所有内容:从客户端讲,它能够方便管理本地分支.且与服务端代码的同步,从拉取.合并.提交等等管 ...

  2. Git 工作原理以及常用命令操作

    GIT工作原理 要了解GIT工作原理,先了解GIT的这几块区域: 工作区域划分 工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的 (modified-已修改状态) 暂 ...

  3. Git基础知识与常用命令

    一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...

  4. Git快速入门和常用命令

    一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...

  5. MySQL基础入门之常用命令介绍

    mysql命令介绍 mysql 是数据库管理命令 通过mysql --help来查看相关参数及使用说明 mysql --help                #mysql数据库管理命令 Usage: ...

  6. Linux基础入门 vim常用命令详解

    介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 ​ h: ← 左移 ​ l: → 右移 ​ j: ↓ 下移 ​ k: ↑ 上移 ​ gg: 光标移动文件 ...

  7. CloudEngine 6800基础配置-02_常用命令操作

    查看未提交配置   system-view ftp server enable display configuration candidate   删除未提交的配置 clear configurati ...

  8. MySQL基础入门之常用命令使用

    如何启动MySql服务 /etc/init.d/mysqld start service mysqld start Centos .x 系统 sysctl start mysqld 检测端口是否运行 ...

  9. Docker 入门指南——常用命令

    前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...

随机推荐

  1. cocos2d-x 如何保持屏幕常亮

    转自:http://blog.csdn.net/wolfking_2009/article/details/8939027 貌似cocos2d-x没有接口直接做这个功能 而各个平台又不一样,所以只能对 ...

  2. 使用Python脚本进行域名解析

    因为在研究爬虫,所以也了解了下域名解析.要提高爬虫的效率,就需要提高域名解析的效率.我将爬虫记录下的域名作为待解析的域名来测试各域名解析方法的效率.我尝试以下四种方法:1. 单线程依次解析各域名,2. ...

  3. UVA 674 Coin Change (DP)

    Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make c ...

  4. cocos2d-x如何新建一个模板项目

    方法一: $ cd cocos2d-x$ ./setup.py$ source FILE_TO_SAVE_SYSTEM_VARIABLE$ cocos new MyGame -p com.your_c ...

  5. 架构探险——第二章(为web应用添加业务功能)

    第二章不使用框架完成了自己的Web应用. 重点: 服务层的完善优化过程,思路 在看这一段的时候引起了无数次的共鸣.相信大家在开始接触Java Web的时候,都做过类似的封装和优化. 第一版 在Serv ...

  6. Android 手机设置CMWAP 接入点

    Android 手机设置CMWAP 接入点 设置--- 无限控件---移动网络设置---接入点名称----再按菜单---选择新apn 第一步,设置CMNET 上网APN 新建 APN 1.名称:cmn ...

  7. 如何进行js动态生成option?如何实现二级连动?

    何为二级连动? 首先要明白什么是二级连动!顾名思义,就是一个动,另外一个也跟着一起动 看下面的例子: 这里有一个“市级”的选择列表框,还有一个“县级”的选择列表框,如果“市级”的选择列表框中的值发现变 ...

  8. 【JavaScript】JS的启动机制

    DOM  Event------------------>触发function() function  自身的调用 主要就是调用function 1.DOM Event 2.调用function

  9. oracle where 后面的条件中|| 是什么意思

    oracle where 后面的条件中|| 是连接符号,Oracle中另一个concat函数能够连接两个字符串 concat(a,b) Oracle中nvl函数的使用方法和作用是什么? 假设你某个字段 ...

  10. png图片那点事

    PNG图片格式现在包含三种类型: 1.PNG8       256色PNG的别名 2.PNG24     全色PNG的别名 3.PNG32     全色PNG的别名 基本上PNG32就是PNG24,但 ...