git使用总结

git基本原理

文件的三种状态
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已暂存(staged)和 已修改(modified)。
已提交——该文件已经被安全地保存在本地数据库中了;
已暂存——表示把已修改的文件放在下次提交时要保存的清单中。
已修改——修改了某个文件,但还没有提交保存;

由此我们看到 Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。

工作目录,暂存区域,以及本地仓库

基本的 Git 工作流程如下:
1.在工作目录中修改某些文件。
2.对修改后的文件进行快照,然后保存到暂存区域。
3.提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。

所以,我们可以从文件所处的位置来判断状态:如果是 Git 目录(git log查看)中保存着的特定版本文件,就属于已提交状态;如果作了修改并已放入暂存区域,就属于已暂存状态;如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

简单使用

起步
初次使用需要设置姓名和邮箱

git config --global user.name "你的姓名"
git config --global user.email johndoe@example.com

clone 项目
用于把一个GitHub的项目clone(下载)到本地变为本地仓库

git clone git@XXXXXX.git

添加文件并提交

# 创建文件
touch a.md
# 在文件里写入一个字符串  
echo "hello" > a.md
#git status用于查看状态
git status
# 把当前目录下的新增和修改的文件添加到暂存区
git add .
# 把暂存区的更新提交到本地库
git commit -am "add file"
# 首次操作使用git push origin master ,把当前本地库里的改动推送到远程库(origin)的master 分支,之后git push 就好了
git push origin master

修改删除文件

# 把远程仓库的变动更新合并到本地仓库
git pull

# 修改文件
vim a.md
git add .

# 这里需要注意,如果提交消息包含大量字符串,提交参数不用加 m
# 此时会进入 vim 界面,按下i进入编辑状态,进行编辑
# 编辑完成后按下 esc 进入命令态, 输入 :wq 保存退出 vim
git commit -a(all)指所有的添加删除都提交到本地仓库

git push origin master

# 删除文件
rm -rf a.md
git add .
git commit -am "删除a.md"

#如果之前已经git push origin master 过,后面可以直接简化成 git push
git push

复杂使用

本地创建一个git 项目推送到远程空仓库

mkdir newProject
cd newProject

# 把一个文件夹初始化成一个本地 git 仓库
# 注意 仓库和文件夹的区别在于仓库下有一个隐藏的 .git文件夹,里面有一些信息
# 对于一个仓库,删除.git文件夹,就变成一个普通文件夹了
# git init对文件夹初始化 生成一个.git文件夹 如果原本已经是git仓库 git init会用新生成的git文件夹代替原本的
git init

touch index.html
echo "hello" > index.html

git add .
git commit -am "init"
# 查看本地库里记录的远程库地址
git remote -v

# 这里把远程库的地址添加个标签叫origin
git remote add origin git@github.com:jirengu/blog2.git
# 推送到远程库地址
git push origin master
#慎用,这样会强制推送,会覆盖别人的代码
git push -f origin master 

# 在添加一个远程库的标签
git remote add gitlab git@gitlab.com:abc/blog.git

# 推送到gitlab标签的地址上
git push gitlab master

# 删除gitlab 标签
git remote remove gitlab

# 修改origin标签对应的地址
git remote set-url origin git@github.com:jirengu/blog3.git

# 把 gitlab 标签改名为coding
git remote rename gitlab coding

分支操作

# 创建本地库dev 分支
git branch dev

# 切换到dev 分支
git checkout dev

touch b.md
git add .
git commit -am "add b.md"

# 推送到origin地址的dev分支上
git push origin dev

分支合并

#切换到master分支
git checkout master

# 把 dev 分支上的内容合并到当前分支(master) 上
git merge dev

冲突

当自己和别人改同一个文件的同一个地方,在执行 git pull时更新本地合并时会出现冲突
修改冲突文件
重新提交

问答题

1. git clone url和 git pull有什么区别
clone: 用于把一个GitHub项目clone(下载)到本地变为本地仓库
pull:把远程仓库的变动更新合并到本地仓库

2. 本地仓库和远程仓库的区别?
本地仓库 就是你电脑上的一个仓库;
远程仓库就是在公网服务器上的仓库。
git离线提交的原理:你修改的文件,保存动作是存放在本地硬盘,提交到本地仓库,就是说文件修改信息保存到.git文件夹,.git会记录文件历史版本。远程推送就可以将本地仓库修改的文件推送到远程仓库去,这里说的远程仓库可以是github,gitlab之类服务器上的仓库。

3.origin 代表什么?
代表远程仓库的地址
origin master指远程仓库的地址的master分枝

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

推荐阅读更多精彩内容

  • git作为时下最流行的代码管理工具,Git权威指南总结了十条喜欢Git的理由: 异地协同工作; 现场版本控制; 重...
    古斟布衣阅读 1,822评论 0 12
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,661评论 4 54
  • 白羊男喜欢一个人是什么表现? 作为一个资深的白羊男。且有很长的情感辅导经历的我来说,这是一个并不简单的问题。之前我...
    暖北Nathan阅读 14,957评论 1 14
  • 中秋节早晨,三个人分成两组,嘎爹向北奔单位,嘎娘拉着嘎娃向南回老家。 待嘎娘和嘎娃赶到家,已经是上午八点多了。 嘎...
    a宫雨阅读 343评论 0 3
  • 【微涟微】FORGET 序 雨,铺天盖地的雨。 在微微漾起泥土气息的潮湿的空气中,朝微抬起头望着苍白天空。...
    Ourglory阅读 269评论 0 0