git使用方法

目录

1. 概念 4

1.1.四个工作区域 4

1.2.工作流程 4

1.3.文件的四种状态 5

2. 四个区域常用命令 7

2.1.新建代码库 7

2.2.查看文件状态 7

2.3. 工作区<-->暂存区 8

2.4.工作区<-->资源库(版本库) 8

2.5.远程操作 9

2.6.其它常用命令 9

3 实际git在pycharm使用

1 概念

1.1 四个工作区域

Git本地有四个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件在这四个区域之间的转换关系如下:



  Workspace:工作区,就是你平时存放项目代码的地方

Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository:仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

  Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

1.2 工作流程

git的工作流程一般是这样的

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域;

3、将暂存区域的文件提交到git仓库。

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

工作区-----》暂存区---》仓库

1.3 文件的四种状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

GIT不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方法就是用SHA-1算法计算文件的校验和。


Untracked:未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged

untracked----->Staged:git add file(工作区-暂存区)

unmodify----->untracked: git rm --cached file:移出版本库(仓库--->工作区)

unmodify----->modified: 修改文件(暂存区)

modified---->ummodify:取消修改,git checkout file(工作区--->暂存区)

modified------>staged--->unmodify(仓库):git add file--->git commit,保存到仓库

unmodify(仓库)------>modified:git reset HEAD file从仓库中取消暂存,放在暂存区


Unmodify:文件已经入库(版本库), 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified.

如果使用git rm移出版本库, 则成为Untracked文件

  Modified:文件已修改(工作区), 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 

返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

  Staged: 暂存状态,执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified



新建文件--->Untracked

使用add命令将新建的文件加入到暂存区--->Staged

使用commit命令将暂存区的文件提交到本地仓库--->Unmodified

如果对Unmodified状态的文件进行修改---> modified

如果对Unmodified状态的文件(仓库)进行remove操作--->Untracked

2 四个区域常用命令

2.1 新建代码库

#在当前目录新建一个Git代码库

git init

#新建一个目录,将其初始化为Git代码库

git init [project-name]

#下载一个项目和它的整个代码历史

git clone [url]

2.2 查看文件状态

#查看指定文件状态

git status [filename]

#查看所有文件状态

git status

2.3 工作区<-->暂存区

#添加指定文件到暂存区

git add [file1] [file2] ...

#添加指定目录到暂存区,包括子目录

git add [dir]

#添加当前目录的所有文件到暂存区

git add .

#当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用

git rm file_path

#当我们需要删除暂存区或分支上的文件, 但本地(工作区)又需要使用, 这个时候直接push那边这个文件就没有,如果push之前重新add那么还是会有。

git rm --cached file_path

2.4 暂存区---版本库

#将暂存区-->资源库(版本库)

git commit -m '该次提交说明'

#加了【分支名】 +文件名  则表示从分支名为所写的分支名中拉取文件 并覆盖工作区里的文件

git checkout 分支名 文件名

#移除不必要的添加到暂存区的文件

git reset HEAD 文件名

#去掉上一次的提交(会直接变成add之前状态) 

git reset HEAD^

#去掉上一次的提交(变成add之后,commit之前状态)

git reset --soft  HEAD^

2.5 远程操作

#取回远程仓库的变化,并与本地分支合并

git pull

#上传本地指定分支(资源库)到远程仓库

git push 远程仓库url地址

2.6 其它常用命令

#显示当前的Git配置

git config --list

#编辑Git配置文件

git config -e [--global]

#初次commit之前,需要配置用户邮箱及用户名,使用以下命令:

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

3 实际git在pycharm使用

1配置用户信息:必须的操作

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.

Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'yujian01@gongyun.(none)'

在pycharm下的command运行

git config –global user.email  “yujian01@gongyun.(none)

git config –global user.name “yujian01”

2在 terminal终端使用

git init:初始化git项目目录

git add . : 添加所有文件到变更列表(注意有个点)

git commit -m "首次提交":

git remote add origin https://github.com/yujian-001/yujian.git:首次提交需要关联远程仓库,origin--起源,给一个远程服务器的路径

git push -u origin master:推送到远端(origin)master分,页面会弹出Git登陆页面,此时需要输入用户名和密码

git push https://github.com/yujian-001/yujian.git:后面在提交,直接将文件上传到远程仓库(上传)

git clone https://github.com/yujian-001/yujian.git:克隆文件,将git远程仓库的文件克隆到本地工作目录(任意的路径)

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

推荐阅读更多精彩内容