《命令行》Git

创建版本库

git clone 克隆远程版本库

git clone xxx.git 克隆文件
git clone xxx.git <dir> 克隆文件到dir文件目录下
git clone -b [new_branch_name] xxx.git 克隆并切换到新分支上

git init 初始化本地版本库

git init 在当前目录下面创建了一个.git 目录(隐藏文件夹)

修改和提交

git status 查看修改状态
git diff 比较当前所有文件和暂存区文件差异

git diff <file> 比较当前特定文件和暂存区文件差异
git diff <commit-id1> <commit-id2> 比较两次提交差异
git diff <branch1> <branch2> 比较两个分支差异
git diff --staged 比较暂存区和版本库差异
git diff --cached 比较暂存区和版本库差异
git diff --stat 仅仅比较统计信息

git show 显示最后一次 commit 修改的内容

git show commit-id 显示某次 commit-id 的修改

git add 保存文件到暂存区

git add <file> 保存指定的文件
git add . 保存所有修改过的文件
git add -A 保存所有修改过的文件(修改、新增、删除)
git add -u 保存修改和删除(不包括新建文件)

git mv <old> <new> 文件改名
git rm

git rm <file> 从版本库中删除文件
git rm --cached <file> 从版本库中停止跟踪文件,但不删除

git commit

git commit –m “comment” 提交所有更新过的文件
git commit --amend 修改最后一次提交

查看提交历史

git log 查看提交历史

git log -p 查看最近 p 次提交
git log -p -n 查看最近 n 次详细修改内容的 diff
git log <file> 查看指定文件的提交历史
git log --author=“author”  查看某人提交记录
git blame <file> 以列表方式查看指定文件的提交历史

撤销

git checkout 用于切换分支或恢复工作树文件

git checkout <file> 撤销指定的未提交到暂存区文件的修改内容
git checkout HEAD <file> 同上
git checkout <branch> 切换分支
git checkout -b <branch> 创建并切换到该分支

git reset 撤销

git reset --mixed 取消 commit + add
git reset --soft 取消 commit
git reset --hard 取消 commit + add + local working
git reset --hard <commit> 撤销到工作目录中某个提交的位置
git reset --hard HEAD 撤销工作目录中所有未提交文件的修改内容
git reset --hard HEAD~n 撤销工作目录中n个提交以前
git reset <file> 从暂存区恢复到工作文件
git reset -- . 从暂存区恢复到工作文件

git revert

git revert HEAD 撤销最近的一个提交
git revert <commit> 撤销指定的提交
git revert --abort 中断本次revert(冲突没解决需要回滚时执行)
git revert --continue 继续revert(一般revert冲突解完执行)

分支与标签

git branch 分支

git branch 查看所有本地分支
git branch -a 查看所有分支(本地+远程) 
git branch <new-branch> 创建本地新分支
git branch -b <new-branch> 创建本地分支并切换到此分支
git branch -m <src-branch> <dest-branch> 本地分支重命名
git branch -d <branch> 删除本地分支
git push origin --delete <branch> 删除远程分支

git tag 列出所有本地标签

git tag <tag_name> 基于最新提交创建标签
git tag -d <tag_name> 删除标签

合并与衍和

git merge 合并指定分支到当前分支

git merge <branch> 不显示 feature,只保留merge节点
git merge --no-ff <branch> 保存你之前的分支历史
git rebase <branch> 衍合指定分支到当前分支

远程操作

git remote 列出所有 remote 的别名

git remote -v 查看远程版本库信息,列出 url
git remote show <remote> 查看指定远程版本库信息
git remote rm [name] 删除一个 remote
git remote rename [old-name] [new-name] 重命名 remote
git remote add <remote> <url> 添加远程版本库

git fetch 从远程获取代码

git fetch <remote> 从远程获取代码

git pull

git pull <remote> <branch> 下载代码及快速合并
pull = fetch + merge

git push

git push <remote> <branch> 上传代码及快速合并
git push <remote> : <branch/tag-name> 删除远程分支或标签
git push --tags 上传所有标签
git push origin branch_name 将本地分支同步到远端
git push origin :branch_name 删除远程分支,慎重使用

帮助

git help 帮助

git help <command> 显示 command 的 help

实战

撤销一个add
git reset HEAD . 撤销所有的文件
git reset HEAD -filename 撤销某个文件

撤销一个commit(未PUSH)
git log -5 (找到你要撤销的commit)
git reset --hard commitid(你要撤销的上一个commit_id)

撤销一个commit (已经PUSH)
将 A 分支上的若干 commit-id 提交到 B 分支上
git log:A 分支上找到若干 commit-id
git checkout B :切换到 B 分支
git cherry-pick <commit-id> :pick 到 B 分支上
git commit -c <commit-id> :若有冲突 则commit -c
git push B :若无冲突则直接push
Git 技术栈

未完待续。。。持续更新。。。

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

推荐阅读更多精彩内容

  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,055评论 0 18
  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 5,029评论 1 45
  • 小时候, 忧愁是一枚小小的愿望, 我在村头, 理想在心头。 长大后, 忧愁是一张窄窄的车票, 我在路头, 希望在前...
    庭上望月阅读 4,342评论 9 21
  • 亲和我一起依窗来听雨关注我个人公众微信号326634322xiayufei 那些日子我为了生存不停的奔波,几乎疏忽...
    夏瑜斐的小木屋阅读 253评论 0 0
  • 如果有个人一脸冷笑的对你说:“你真是个直肠子!”,你会把这句话当作表扬还是批评?我想稍微有点脑子的都会意识到别人在...
    职场星阅读 424评论 0 0