本内容参考: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. Hadoop on Mac with IntelliJ IDEA - 5 解决java heap space问题

    本文讲述在CentOS 6.5中提交作业到hadoop 1.2.1于reduce阶段遇到Error: java heap space错误导致作业重新计算的解决过程.解决办法适用Linux.Mac OS ...

  2. jquery.validate使用攻略

    主要分几部分 jquery.validate 基本用法 jquery.validate API说明 jquery.validate 自定义 jquery.validate 常见类型的验证代码 下载地址 ...

  3. ICPC-CAMP day1 D.Around the world

    Around the world 题目连接: 无 Description 给你一个n*n的矩阵,然后a[i][j]表示i,j是否有一条边 然后让你构造一个序列,使得i到(i+1)%n这两个点之间最多经 ...

  4. C#调用Excel VBA宏

    近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进 ...

  5. Delphi调用WebService(通过SoapHeader认证)经验总结

    项目(Delphi开发)需要调用另一个系统的WebService.走了不少弯路,现记录总结一下经验.以下是WebService要求: 1.WebService概述 营销Webservice接口采用Ap ...

  6. Linux显示全部执行中的进程

    Linux显示全部执行中的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps aux | less USER PID %CPU %MEM VSZ RSS ...

  7. Ajax缓存解决办法

    解决办法有如下几种:       1.在服务端加 header("Cache-Control: no-cache, must-revalidate");(如php中) 2.在aja ...

  8. LeetCode35 Search Insert Position

    题目: Given a sorted array and a target value, return the index if the target is found. If not, return ...

  9. 适配iOS9遇到的一些问题_Scheme白名单_ Bitcode及解决办法

    升级Xcode7 运行项目发现报错如下: 1.Scheme白名单问题 -canOpenURL: failed for URL: “weixin://app/wxdaae92a9cfe5d54c/” - ...

  10. Remoting

    一.      Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极 ...