git基础常用命令和流程

下面讲解的都是在本地完成的,不需要联网,这就是git的好处,是在本地生成版本历史信息,git push需要联网,这个命令就是将本地信息推送到远端仓库上

git的工作流程

一个git仓库分为三个区

  • 工作区 平时也代码的地方
  • 暂存区 把一些写好的代码暂时存储的地方
  • 历史区 生成一个个版本记录的地方

其中暂存区和历史区代码看不见,是以数据的形式存放在.git文件中

初始化仓库

创建仓库 git init命令

关联远程仓库两种方法

  1. clone这种比较常用,方便,推荐用这种方法

git clone 远程仓库链接 文件夹名字(可以不写,默认是仓库的名字)
例如:git clone https://github.com/facebook/react.git就可以了

  1. 第二种方法就是remote

git remote add origin git地址
例如 git remote add origin(仓库的名字,一般推荐用origin) https://github.com/facebook/react.git

关联之后就可以用 git remote -v 查看关联远程仓库的信息

解除远程仓库的关联

git remote rm 名字
例如 git remote rm origin,其实就把上面关联react仓库的联结解除了

git add命令 把文件提交到暂存区

git add XXX 把某个文件提交到暂存区
git add .(把所有修改的文件,包括修改的和新增的,不包括删除的)
git add -u (把所有修改的文件,包括修改的和删除,但是不包括新增的)
git add -A (包括修改的,删除的,新增的)

git commit -m "xxx" 将暂存区提到历史区

例如git commit -m "add indexjs"就是将暂存区的文件提交到历史区了

git status命令

查看当前文件状态,看看文件处于什么状态,一般都会有提示,这个是非常人性化的,一般就靠这个命令就能把git玩透了(略屌。。。)

.gitignore文件

当我们向远端仓库推送的时候,不想提交一些文件的时候,可以在 .gitignore文件中添加这些不想提交的文件,例如:.idea,node_modules文件夹的名字,或者文件名等

将暂存区文件撤回到工作区

如果我们将错误的代码一不小心提交到暂存区的时候,我们希望撤回,有三种方法

  1. git rm --cached XXX -r 删除暂存区所有的文件或者
    git rm --cached . -r 删除暂存区所有的文件
    删除之后,然后再将正确的代码add到暂存区
  2. git checkout XXX 将暂存的某个文件撤回到(覆盖)工作区
    git checkout . 将暂存区的所有文件撤回到(覆盖)工作区
    这种方法只能限制当前代码还没有提交的情况,当前代码没有提交,回滚的是上一下提交暂存区的内容(和工作区内容不一样),如果当前这次也提交了,暂存区和工作区一样,回滚回来也是一样的,这个方式解决不了
  3. git reset HEAD xxx 或者 git reset HEAD . 在暂存区中,回滚到上一次暂存区中记录的内容(暂存区先回滚一下),然后git checkout . 把最新暂存区的信息回滚到工作区,替换工作区内容,这样就避免第二种方法的问题了(推荐用这种方法)

代码回滚操作

git reset --hard 版本号(版本号一般取前七位或者八位就行),当我们回滚到某一个历史版本之后,暂存区和工作区的内容都将被这个版本内容所代替

查看版本历史记录

git log
git reflog
都是查看历史提交记录,在没有历史版本会滚的时候,用哪个都可以,有历史版本回滚,git log只能查看当前回滚历史版本以前的版本

比较三个区的差别

git diff 工作区VS暂存区
git diff master 工作区VS历史区
git diff -cached 暂存区VS历史区

查看操作日志

history > XXX.txt 会在本地生成一个XXX,txt的文件,里面全是操作记录

向远程仓库推送(重点了)两种方法

  1. 主分支操作:git push origin(名字) master(分支) 把本地推送到远程上(推荐用这种方法)
    • 首先创建一个分支git branch XXX(分支名字,随便起,一般是自己的名字) 创建一个新的分支
  • 然后git checkout XXX 切换到这个分支上(会把当前master主分支中的信息同步到这个分支上)
  • 或者直接git checkout -b XXX 切换并且创建某个分支(前提是有主分支的情况下,把文件提交到历史区会生成master)
  • 然后把自己每天修改的文件提交到历史区git commit -m "xxx"
    把自己分支的内容合并到主分支master上git merge dev(自己的分支)
  • 然后把自己的分支删掉git branch -D XXX(分支名字),一定要切换到其他分支上才可以删除当前分支,当然也可以不删掉,只是为了避免在远程仓库中的冲突,
  • 最后在master上git push到远程仓库中

拉取远程仓库最新代码

git pull orgin(名字) master(分支) origin是本地和远程仓库关联的那个名字,master是远程仓库的主分支;

每次push前要拉取一次

解决代码冲突

如果在拉取完代码后,发生冲突,找到冲突的代码,跟写冲突的代码的人商量看用谁的代码,然后把不用的代码删掉即可,冲突的标志很明显,就是<<<<<<<<<<<<<<<<<<<<<<<<<< HEAD
code code code >>>>>>>>>>>>>>>>>>就是类似这种的标志,很容易查找



End------------

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,469评论 1 26
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,649评论 9 163
  • 我们如何理解幸福感?其实每个人都对幸福感有不同的定义,可是大多数人所说的幸福,都是有条件,假如那些条件实现了,他觉...
    N追梦人_刘苏立S阅读 256评论 0 0
  • 爬南山,来回三个小时,走到最后累的腿都发颤了,南山真的是不高呢,区区小山我累得浑身难受,可见是太需要运动和锻...
    慧慧妈妈66阅读 325评论 0 2
  • 思考的角度 ——王婧 同事小飞是一个三岁孩子的妈妈,有许多的育儿经验,在教育孩子方面不能说是专家,但也肯定比我有经...
    婧婧想静静阅读 184评论 0 0