Git命令简介

创建版本库

通过git init命令把这个目录变成Git可以管理的仓库

把文件添加到版本库

git add把文件提交到仓库

git add .则是将该目录下的所有的文件或文件夹递归地提交到仓库

git status命令可以让我们时刻掌握仓库当前的状态

git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式

git commit提交修改到版本库

git log查看提交的历史记录

分支管理

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

git branch dev创建分支

git checkout dev切换分支

git branch命令查看当前分支,该命令会列出所有分支,当前分支前面会标一个*号。

远程仓库(GitHub)

创建SSH Key。

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

在GitHub中添加SSH Key

登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容点“Add Key”,你就应该看到已经添加的Key。

远程仓库的推送和抓取

git remote add origin git@github.com:alanice/learngit.git添加远程仓库

git push -u origin master第一次推送master分支的所有内容

git push origin master把本地master分支的最新修改推送至GitHub

git clone克隆一个本地库

git pullgit fetch的区别

git fetch相当于是从远程获取最新版本到本地,不会自动merge

git fetch origin master
git log -p master..origin/master
git merge origin/master

以上命令的含义:

首先从远程的originmaster主分支下载最新的版本到origin/master分支上

然后比较本地的master分支和origin/master分支的差别,最后进行合并

上述过程其实可以用以下更清晰的方式来进行:

git fetch origin master:tmp
git diff tmp 
git merge tmp

从远程获取最新的版本到本地的tmp分支上,之后再进行比较合并

git pull相当于是从远程获取最新版本并merge到本地

git pull origin master

上述命令其实相当于git fetchgit merge

在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并

新建、删除远程分支

git push origin <branch-name>可以把本地分支推送到远程分支
git push --delete origin <branch-name>可以删除指定的远程分支

bug分支

git stash可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

git stash list命令看看刚才的工作现场

git stash apply恢复工作现场,但是恢复后stash内容并不删除,需要用git stash drop来删除

git stash pop恢复的同时把stash内容也删了

只提交一次的文件

git update-index --assume-unchanged FILENAME忽略已经提交的文件

git update-index --no-assume-unchanged FILENAME重新track相关文件

删除远程分支和tag

在Git v1.7.0 之后,可以使用这种语法删除远程分支:

git push origin --delete <branchname>

可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:

git push origin :<branchname>

删除tag的方法,推送一个空tag到远程tag,两种语法作用完全相同。:

git push origin --delete tag <tagname>
git tag -d <tagname>
git push origin :refs/tags/<tagname>

删除不存在对应远程分支的本地分支

使用git remote prune origin可以将其从本地版本库中去除。

更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支git fetch -p

重命名远程分支

在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。

例如下面的例子中,我需要把devel分支重命名为develop分支:

删除远程分支:git push --delete origin devel

重命名本地分支:git branch -m devel develop

推送本地分支:git push origin develop

把本地tag推送到远程

git push --tags

获取远程tag

git fetch origin tag <tagname>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,658评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,649评论 9 163
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 6,241评论 5 47
  • 作为一个喜欢旅行的姑娘,在结婚前,和男友两个人基本上3个月就要出行一次,旅行对于我来说就像是生活的一部分。 喜欢自...
    MiniKay阅读 139评论 0 1
  • 在中国当下家庭中,很多孩子都是独生子女,无疑成了一个家庭的宝贝跟掌上明珠。很多孩子在家里,由于一切日常都...
    馨栀阅读 738评论 0 2