ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git实战

2022-01-17 17:05:03  阅读:95  来源: 互联网

标签:实战 git 仓库 暂存区 Git 版本 远程 分支


1. git的本地版本管理

1. 初始化:在想要管理的文件夹下执行以下命令

git init

2. 本地版本的工作流程

各区域存放的东西:
  1. 工作区:沙盒
  2. 暂存区:预期下一次提交的快照  
  3. 版本库:本次提交的快照,下次提交的父节点  

  工作区文件的变动,会被git自动检测,并使其变成红色
  使用git add . 将红色的文件复制到暂存区(这些文件就是下一次提交的快照),并使其变绿
  使用git commit -m "message" 将绿色的文件复制到版本库,称为提交。(这些文件就是本次提交的快照,暂存区的文件存放的也变称为本次提交的快照)
  1. 仓库创建完(git init),工作区文件file.txt被检测到变化(工作区和暂存区不同,使用git status 命令查看 file.txt变为红色)
  2. 用 git add 把工作区中的内容复制到暂存区中(暂存区和版本库不同,使用git status 命令查看 file.txt变为绿色)
  3. 使用 git commit,它会取得索引中的内容并将它保存为一个永久的快照,然后创建一个指向该快照的提交对象,最后更新 master 来指向本次提交。(此时三个区域的文件一样,所以git status不会输出)

    【切换分支或克隆的过程也类似。 当检出一个分支时,它会修改 HEAD 指向新的分支引用,将索引填充为该次提交的快照,然后将索引的内容复制到工作目录中。(三个区域还是相同的,所以git status不会输出)】

3. 功能命令

git status    // 管理文件夹下的文件状态  红色:检测到文件被创建或者文件以修改; 绿色:文件已经被放入暂存区;

git log    // 显示当前分支所有提交过的版本信息,不包括已经被删除的 commit 记录和reset的操作。

git reflog    // 显示所有分支的所有操作记录信息(包括已经被删除的 commit 记录和 reset 的操作)。

// reset是让HEAD指针指向前面的版本
// --soft   HEAD指向当前版本的前n个版本,仅改变 版本库 的内容,所以版本库的内容会和暂存区不一样,git status命令查看文件会变绿
// --mixed  HEAD指向当前版本的前n个版本,会改变 版本库、暂存区 的内容,所以暂存区的内容会和工作区不一样,git status命令查看文件会变红
// --hard   HEAD指向当前版本的前n个版本,会改变 版本库、暂存区、工作区 的内容,三个区域内容一样,git status命令不会输出
git reset [--soft | --mixed | --hard] [HEAD~n]   

4. 分支-基础命令

git branch  //查看所有分支,*只当前分支

git branch -r    // 查看所有远程分支

git checkout 分支名    // 切换分支

git checkout -b 分支名  // 创建分支并切换分支

git merge 分支名    // 将分支合并到当前分支

git branch -d 分支名    // 删除分支

5. 远程仓库(github)

5.0 首先创建仓库(或者创建组织,然后创建仓库)

创建仓库

创建组织,邀请成员,创建仓库

5.1 基础命令
git remote add origin 远程仓库地址     // 给远程仓库起别名

git push origin 分支名    // 给远程仓库推送分支并合并,如果远程仓库没有该分支,就创建。

git push origin 本地分支名:远程分支名    // 给远程仓库的远程分支推送本地分支并合并,如果远程仓库没有该分支,就创建。

git push origin --delete 远程分支名     // 删除远程分支

git clone origin    // 克隆远程仓库的代码(所有分支都会克隆下来)

git pull origin 分支名    // 从远程仓库拉取分支并合并

git pull origin 远程分支名:本地分支名    // 从远程仓库拉取远程分支到本地分支并合并

git checkout -b 本地分支名 origin/远程分支名    // 拉取远程分支并创建本地分支

标签:实战,git,仓库,暂存区,Git,版本,远程,分支
来源: https://www.cnblogs.com/c21w/p/15814163.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有