本内容参考: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. 2014 年10个最佳的PHP图像操作库--留着有用

    Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支 ...

  2. BZOJ 1083: [SCOI2005]繁忙的都市 kruskal

    1083: [SCOI2005]繁忙的都市 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1083 Description 城市C是一个非 ...

  3. C#综合揭秘——细说多线程

    一.线程的定义  1. 1 进程.应用程序域与线程的关系 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.进程之间是相对独立的,一个进程无法访问另一个进程 ...

  4. C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)

    此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中 ...

  5. 从来没有天才 靠自己创造未来——Leo鉴书(29)

    之前在网上跟朋友们聊起天才这个话题,我认来从来没什么所谓天才,有朋友认为有的,只是我们定义不同,要不你看看苏轼? 持天才论者持两个观点:有些人天生擅长干某些事儿,也许是基因作怪:有些人的能力是上帝或者 ...

  6. [Angular2 Form] Understand the Angular 2 States of Inputs: Pristine and Untouched

    Angular 2’s ngModel exposes more than just validity, it even gives you the states of whether the inp ...

  7. iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)

    iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)   这里我们就直接上实例: 一:新建一个项目singleV ...

  8. WSS3.0 SDK中的不同列表类型的对应值

    Value Description 100 Generic list 101 Document library 102 Survey 103 Links list 104 Announcements ...

  9. ecshop被加入了黑链

    朋友一个ecshop网站被攻击了,查看代码如下: <?php $password = "1";//设置密码 error_reporting(E_ERROR); header( ...

  10. 《嵌入式Linux基础教程学习笔记一》

    常用书目下载地址:http://www.cnblogs.com/pengdonglin137/p/3688029.html 第二章 1.进程上下文和中断上下文(Page20) 当应用程序执行系统调用, ...