Git操作笔记
1.创建目录
$ mkdir learngit
$ cd learngit
2.把新建的目录变成仓库
$ git init
3.将一个文件添加到版本库
$ git add readme.txt
4.将一个或者多个文件一起提交到版本库
$ git commit -m "wrote a readme file"
5.查看仓库的状态
$ git status
6.查看某个文件做了哪些改动
$ git diff readme.txt
7.查看历史记录
$ git log(--pretty=oneline)
8.回退上一个版本
$ git reset --hard HEAD^ 或 $ git reset --hard 3628164
9.查看使用过的命令
$ git reflog
10.丢弃工作区的修改
$ git checkout -- readme.txt
11.撤销对暂存区的修改,重新放回工作区
$ git reset HEAD readme.txt
备注:回退修改小结:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时(即未add),用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改(即add但是没commit),分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交(即commit了),使用$ git reset --hard HEAD^ 或 $ git reset --hard 3628164进行版本回退,不过前提是没有推送到远程库。
12.删除一个文件
$ git rm test.txt
关联远程库步骤:
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
13.关联一个远程库
$ git remote add origin git@github.com:jhscpang/learngit.git(ssh不太好用,用https版,见下一行不太好用,用https版,见下一行)
git remote add origin https://github.com/jhscpang/learngit.git
14.把本地的内容推送到远程服务器
$ git push -u origin master
15.克隆一个本地仓库
$ git clone git@github.com:pangchao620/gitskills.git(ssh不太好用,用https,见下一行)
$ git clone https://github.com/jhscpang/learngit.git
16.创建一个分支
$ git checkout -b dev
备注:git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
17.查看当前分支
$ git branch
18.切换分支
$ git checkout master
19.合并指定分支到当前分支
$ git merge dev (默认是快进模式合并)(假设当前分支是master分支,则此命令是将dev分支合并到master分支)
如果禁用快进模式使用如下命令:
$ git merge --no-ff -m "merge with no-ff" dev
(通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
)
20.删除分支
$ git branch -d dev
强行删除一个分支:$ git branch -D dev
21.查看分支合并情况
$ git log --graph --pretty=oneline --abbrev-commit
22.将还不能提交的现场存储起来
$ git stash
23.查看存储地点
$ git stash list
24.还原存储内容
$ git stash pop 或 git stash apply
备注:(用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了)
25.恢复指定地点的存储内容
$ git stash apply stash@{0}
26.查看远程库的信息
$ git remote -v 或 $ git remote
27.当你的小伙伴要在dev分支(非master分支)上开发,就必须在本地创建和远程分支对应的分支
$ git checkout -b dev origin/dev (如果报错,这么解决:git fetch origin)
28.从本地推送分支
$ git push origin branch-name
29.从远程抓取分支
$ git pull
30.创建本地分支和远程分支的链接关系解决pull失败
$ git branch --set-upstream-to=origin/dev dev
31.创建标签 或者 创建带有说明的标签,用-a指定标签名,-m指定说明文字
$ git tag <name> 或者 $ git tag -a v0.1 -m "version 0.1 released" 3628164
32.查看所有标签 或者 查看标签信息
$ git tag 或者 git show <tagname>
33.给历史版本打标签
$ git tag v0.9 <commit id>
34.删除标签
$ git tag -d v0.1
备注:(如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除,
$ git tag -d v0.9
再从远程删,
$ git push origin :refs/tags/v0.9
)
35.推送某个标签到远程
$ git push origin <tagname>
36.一次性推送全部尚未推送到远程的本地标签
$ git push origin --tags
总结:
多人协作模式步骤:
1.先将文件夹初始化成git本地库
$ mkdir testgit
$ cd testgit
$ git init
2.为该本地库关联一个远程库
$ git remote add origin https://github.com/jhscpang/learngit.git
3.如果不用默认的master分支开发,则要新建分支(例如dev分支),并且该新建的分支要和远程库的相对应的分支建立关联(因为本地库到最后要和远程库同步)
$ git checkout -b dev origin/dev
(此时要是报错,则使用命令 $ git fetch origin解决,
并再次输入git checkout -b dev origin/dev一次)
4.(上面成功后,此时已经在dev分支上),克隆远程库里的内容
$ git clone https://github.com/jhscpang/learngit.git
5.对文件进行操作(例如vim test.txt),然后将修改了的文件从工作去添加到本地库的暂存区
$ git add test.txt
6.将暂存区的文件提交到本地库
$ git commit -m "add test.txt"
7.将本地库的分支推送到远程库对应的分支,实现同步
$ git push origin dev
8.如果push时遇到冲突,则将远程库的的新内容pull到本地,再修改完冲突后,重新做5-7步
$ git pull
9.如果pull出错no tracking information,则说明本地分支和远程分支的链接关系没有创建,输入如下命令解决,然后再pull就可以了
$ git branch --set-upstream-to=origin/dev dev
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- git log 常用命令及技巧
git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...
- Git基本常用命令
Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...
- Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点
Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...
- Git stash 常用命令
参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...
- Git 基础 —— 常用命令
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...
- git之常用命令
git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...
- git的常用命令。。
git的常用命令.. git help <command> 显示command的help git show 显示某次提交的内容 git show $id git co -- <f ...
- Git - Git基本常用命令
Git基本常用命令 mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理 ...
随机推荐
- JavaScript异常捕获
理论准备 ★ 异常捕获 △ 异常:当JavaScript引擎执行JavaScript代码时,发生了错误,导致程序停止运行: △ 异常抛出:当异常产生,并且这个异常生成一个错误信息: △ 异常捕获: ...
- Python基础:序列(字符串)
一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...
- R语言-简单线性回归图-方法
目标:利用R语言统计描绘50组实验对比结果 第一步:导入.csv文件 X <- read.table("D:abc11.csv",header = TRUE, sep = & ...
- linux下安装或升级GCC4.8,以支持C++11标准
C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充.随后各编译器厂商都各自实现或部分实现了C++中的特性. 如需查看各编译器对C++1 ...
- 【NOIP训练】【规律+数论】欧拉函数的应用
Problem 1 [题目大意] 给出 多组数据 ,给出 求出 . 题解 证明: 除了 以为均为偶数, 所以互质的个数成对. 由 得 . 所以对于每对的和为 , 共有 对 . 则 Problem ...
- treap树---Double Queue
HDU 1908 Description The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office i ...
- 容器--ArrayList
一.前言 作为List的重要实现之一,ArrayList已经成了我们编写程序时不可或缺的重要容器之一,面试的时候也经常会被问到,所以,深入理解其实现机制,无论是对于我们正确使用这个类来说,还是准备面试 ...
- Python基础(一),Day1
python的安装 python2.x与3.x的部分区别 第一个python程序 变量 字符编码 注释 格式化字符串 用户输入 常用的模块初始 if判断 循环语句 作业 1.python的安装 可以在 ...
- [下载] MultiBeast 6.2.1版,支持10.9 Mavericks。Mac上的驱动精灵,最简单安装驱动的方式。
下载地址1:http://pan.baidu.com/s/1i3ier9F 下载地址2:http://www.tonymacx86.com/downloads.php?do=cat&id=3 ...
- DWR的Reverse Ajax技术实现
DWR的逆向ajax其实主要包括两种模式:主动模式和被动模式.其中主动模式包括Polling和Comet两种,被动模式只有Piggyback这一种. 所谓的Piggyback指的是如果后台有什么内容需 ...