前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git基础

git基础

作者头像
超蛋lhy
发布2018-12-28 16:13:58
4130
发布2018-12-28 16:13:58
举报
文章被收录于专栏:PythonistaPythonista

git工作流程

 使用git就是将本地文件(工作目录workspace)的文件,添加到暂存区(stage),然后提交到本地仓库(repository),最终可以协同开发,推送到远程仓库(remote)

git操作一、建立Git仓库

git版本库,也叫做git仓库(repository),也就是一个文件夹。

这个目录的所有内容被git软件管理,所有的修改,删除,git都会跟踪记录,便于可以跟踪历史记录,以后可以还原文件。

两种场景需求:

1.把已有的项目代码,纳入git管理

代码语言:javascript
复制
cd mysite    mysite项目所在代码
git init        初始化git仓库

git init命令会创建一个.git隐藏子目录,这个目录包含初始化git仓库所有的核心文件。
此步仅仅是初始化,此时项目里的代码还没有被git跟踪,因此还需要git add对项目文件跟踪,然后git commit提交到本地仓库

想知道.git文件做了什么事,请看git原理 >Git 内部原理

2.新建一个项目,直接用git管理

代码语言:javascript
复制
cd 某个文件夹
git init mysite      此步会在当前路径创建mysite文件夹,mysite文件夹中包含了.git的初始化文件夹,所有配置

那么.git文件夹中有什么呢?

代码语言:javascript
复制
[root@pyyuc ~/git_learning/mysite 11:08:19]#tree .git
.git
├── branches
├── config    这个项目独有的配置
├── description
├── HEAD    head文件指示目前被检出的分支
├── hooks  hooks目录包含服务端和客户端的钩子脚本 hook scripts
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   └── update.sample
├── index  index文件保存暂存区的信息,只有git add之后才会生成,默认还没有这个文件
├── info    info目录是全局性排除文件,用于放置不想被记录在.gitignore文件中的忽略模式(ignored patterns)
│   └── exclude
├── objects  存储所有数据内容
│   ├── info
│   └── pack
└── refs  refs目录存储指向数据(分支)的提交对象的指针
    ├── heads
    └── tags

3.获取远程仓库代码

 如果你想获取github上的代码,或者你公司gitlab私有仓库的代码,可以使用git clone命令,下载克隆远程仓库的代码。

代码语言:javascript
复制
git clone https://github.com/django/django.git

你会发现所有的项目文件都在这里,等待后续开发。

git操作二、记录更新到本地仓库

代码语言:javascript
复制
还记得git的四个区域吗?本地文件夹,暂存区,本地仓库,远程仓库吗?

本地文件夹未初始化,git是不认识的

本地文件git init后,就成了git仓库

请记住,在工作文件夹的每一个文件,只有两种状态,一个是未跟踪,一个是已跟踪

已跟踪的指的是已经被纳入git版本管理的文件,在git快照中有他的记录

未跟踪的是这个文件既不在git快照中,也不在暂存区

git init初始化时的工作文件夹,都属于已跟踪了,后续的编辑操作都会标记为,已修改文件,因此需要将修改后的文件,加入暂存区,然后提交暂存区的文件。

 检查文件状态

代码语言:javascript
复制
git status 
此命令查看git工作目录的文件,处于生命周期的哪一个状态 注意,只能在git工作目录中输入这个命令,他会去找.git文件夹 

git生命周期演练

请看代码

代码语言:javascript
复制
git init mysite                          初始化git仓库

git status                                 查看git状态

echo 'print("挣了一个亿")' > main.py        新建一个代码文件,此时是未被git跟踪的

git status                                查看状态

    On branch master

    No commits yet

    Untracked files:
      (use "git add <file>..." to include in what will be committed)

        main.py

    nothing added to commit but untracked files present (use "git add" to track)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • git工作流程
  • git操作一、建立Git仓库
  • git操作二、记录更新到本地仓库
    •  检查文件状态
    • git生命周期演练
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档