3.git常用命令

一、git add

git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

git add -A :是上面两个功能的合集(git add --all的缩写)

二、git commit

git commit -m "message":message即是我们用来简要说明这次提交的语句。

git commit -a -m "massage":其他功能如-m参数,加的-a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区

三、git reset

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

git reset HEAD -- 文件:撤销暂存区‘此文件’的修改
git reset --hard HEAD:回退到上一次服务器版本
git reset --hard 版本号:彻底回退到某个服务器版本
git reflog会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。

eg.执行git reflog命令:

$ git reflog
b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit
回滚reset:

git reset --hard 98abc5a
即可恢复先前操作的commits。

git log --pretty=oneline 查看历史信息

四、丢弃工作区修改

git checkout -- readme.txt:丢弃工作区readme.txt的修改

git checkout .:丢弃工作区的全部修改

五、创建分支

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
git branch命令会列出所有分支,当前分支前面会标一个*号
当前分支dev.png
//关联远程库
git remote add origin git@git.xxxx.xiaoming/git-test-project.git
//推送到远程仓库origin
git push -u origin dev
//从现在起,只要本地作了提交,就可以通过命令推送到远程
$ git push origin dev

六、合并分支

git merge ''分支x” 命令用于合并'分支x”指定分支到当前分支。
git merge –no-commit <branch>相当于一次快进式合并,不会生成一次提交

七、存储修改

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

git stash list查看所有暂存列表

git stash apply stash@{0} 恢复到指定暂存修改0,1....

八、删除

//如果要丢弃一个没有被合并过的分支,可以通过
git branch -D <name>强行删除。

//删除本地的远程分支:
git branch -r -D origin/'分支名'

//远程删除git服务器上的分支:
git push origin -d '分支名'

九、多人协作

//要查看远程库的信息,用git remote:
$ git remote
origin
远程仓库的默认名称是origin。

//用git remote -v显示更详细的信息:
$ git remote -v
origin  git@github.com:xxxx/xxx.git (fetch)
origin  git@github.com:xxxx/xxx.git (push)

//推送分支
$ git push origin '分支名' 
1.首先,可以试图用git push origin <branch-name>推送自己的修改;

2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3.如果合并有冲突,则解决冲突,并在本地提交;

4.没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

5.如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

十、标签控制

$git tag <tagname> 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

$git tag -a <tagname> -m "blablabla..." 可以指定标签信息;

$ git tag -a v0.1 49e0cd22f6bd9510fe65084e023d9c4316b446a6 -m "blablabla..." 补打标签

$git tag 可以查看所有标签。

$ git show v0.1 查看标签v0.1的版本信息

$ git checkout [tagname] 切换到tagname标签

$ git tag -d v0.1 删除本地v0.1标签

$ git push origin :refs/tags/v001删除远程v001标签

默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin [tagname] 即可:
$ git push origin v1.5

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

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,649评论 9 163
  • Git常用语法 [TOC] Git简介 描述 ? Git(读音为/g?t/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,504评论 0 13
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,657评论 4 54
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,461评论 1 26
  • 我不太明白,什么时候我们之间最简单的相处方式,就是沉默了,我也不太明白,什么时候一旦吵架,狠话便是我们之...
    米米然阅读 511评论 0 1