Git分布式版本控制工具-操作指令

零、本文纲要

一、Git工作流程图
二、Git基础操作指令
三、Git分支指令
四、Git远程仓库
tips:Ctrl+F快速跳转所需内容阅读

一、Git工作流程图

image.png
  1. clone(克隆): 从远程仓库中克隆代码到本地仓库;
  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订;
  3. add(添加): 在提交前先将代码提交到暂存区;
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本;
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少;
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge;
  7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库。

二、Git基础操作指令

  1. git init(初始化当前目录为1个Git仓库)
#Git bash窗口执行初始化指令
git init
image.png
  1. git add (工作区 --> 暂存区)
    命令形式:git add 单个文件名|通配符
git add file01.txt
git add .
  1. git commit (暂存区 --> 本地仓库)
    命令形式:git commit -m '注释内容'
git commit -m 'add file01.txt'
  1. git status(查看的修改的状态-暂存区、工作区)
git status
  1. git log(查看提交日志)
    命令形式:git log [option]
    常用option:
    --all 显示所有分支;
    --pretty=oneline 将提交信息显示为一行;
    --abbrev-commit 使得输出的commitId更简短;
    --graph 以图的形式显示。
git log --pretty=oneline --all --graph --abbrev-commit

tips:设置复杂指令别名
①打开用户目录,创建 .bashrc 文件

touch ~/.bashrc

②在 .bashrc 文件中输入以下内容

#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

#用于输出当前目录所有文件及基本信息
alias ll='ls -al'

③打开gitBash,执行 source ~/.bashrc

source ~/.bashrc
  1. git reset(版本回退)
    命令形式:git reset --hard commitID
    git log、git reflog可以查看commitID
  2. .gitignore文件(文件忽略列表)
    在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf

三、Git分支指令

  1. 查看本地分支
    命令:git branch
git branch
  1. 创建本地分支
    命令:git branch 分支名
git branch dev01
  1. 切换分支(checkout)
    命令:git checkout 分支名
git checkout dev01

也可以实现:创建并切换
命令:git checkout -b 分支名

git checkout -b dev02
  1. 合并分支(merge)
    命令:git merge 分支名称
    一个分支上的提交可以合并到另一个分支,记得切换到最后合并要用的分支。
#一个分支上的提交可以合并到另一个分支
git checkout master
git merge dev01
  1. 删除分支
    命令:git branch -d local_branch_name 删除分支时,需要做各种检查
    git branch -D local_branch_name 不做任何检查,强制删除
    不能删除当前分支,只能删除其他分支。
git branch -d dev01
# -D与-d的区别是:
#-D强制删除dev01如果有内容commit也会被删除
#-d删除会提醒先去merge
git branch -D dev01

四、Git远程仓库

  1. 添加远程仓库
    命令: git remote add <远端名称> <仓库路径>
    远端名称,默认是origin。
git remote add origin git@github.com***/git_test.git
  1. 查看远程仓库
    命令:git remote
git remote
  1. 推送到远程仓库
    命令:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
    -f 表示强制覆盖
    --set-upstream 推送到远端的同时并且建立起和远端分支的关联关系
git push --set-upstream origin master:master
#两条指令意思一样,本地分支与远端分支名相同,后面内容可省略
git push --set-upstream origin master

如果远程分支名和本地分支名称相同,则可以只写本地分支
如果当前分支已经和远端分支关联,则可以省略分支名和远端名

#已经关联本地与远端分支,则可以直接 git push
git push
  1. 本地分支与远程分支的关联关系
    命令:git branch -vv
git branch -vv
  1. 从远程仓库克隆
    命令: git clone <仓库路径> [本地目录名]
git clone http://***/git_test.git git_test_01
#下面指令则会将本地目录默认命名为git_test
git clone http://***/git_test.git
  1. 从远程仓库中抓取和拉取
    抓取 命令:git fetch [remote name] [branch name]
    抓取指令就是将仓库里的更新都抓取到本地,不会进行合并;
    注意:如果不指定远端名称和分支名,则抓取所有分支。
    拉取 命令:git pull [remote name] [branch name]
    拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge。
    如果不指定远端名称和分支名,则抓取所有并更新当前分支。

五、结尾

以上即为Git基础相关内容,感谢阅读。

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

推荐阅读更多精彩内容