有了上一篇的简易Git使用指南,接下来我们就可以创建自己的代码库了

创建代码库

1.把文件夹变成git文件夹

git init 这样子就这里面的内容就可以git了

2.把要git的文件放入暂存区

git有三个空间: Working Directory工作区,Staging Area暂存区,Repository仓库

工作区里面有三个txt文件,然后把cookie和bread放到暂存区,之后一次提交,就会一次性把staging area里面的所有东西(包括cookie和bread)提交到repository

git add cookie.txt #把cookie.txt放到暂存区

git add bread.txt #把bread.txt放到暂存区

如果某个文件被意外的放进了暂存区,可以使用 git reset cake.txt #从暂存区中删除cake.txt

查看文件的状态,可以使用 git status

3.对文件进行编辑

4.提交本次的编辑

当我们已经完成了一个版本的编辑之后,就可以提交了,输入 git commit 就会弹出如下的一个编辑器,我的是Sublime,在最上面添加本次修改的主要修改内容。如果想要使用其他的编辑器,可以查看本文”其他问题“

如果做了很多次修改以及上传,想要查找之前修改的不同版本,用 git log 即可,就会出现每次修改版本的快照


修改代码库

1.git diff

在简易Git使用指南这篇文章中我们已经学过了git diff这个命令,可以对比两个不同的commit的之间的差别,那么假如我们修改了代码,然后 出去喝了点水,和同事聊聊天,回来之后忘记自己修改了哪些代码,也没有提交commit怎么办呢? 换句话说,git diff除了对比 commit1和commit2,可以对比工作目录和暂存区吗?

当然可以!

git diff #对比working directory和staging area

git diff --staged #对比staging area和commit1

git diff commit1 commit2 #对比commit1和commit2

2.创建分支

有的时候,我们可能会想要对自己工作的项目进行一个分支,比方说,Asteroids小游戏,我们想要试验一个简易的版本,同时又不想破坏原来的想法,就可以创建一个分支

git branch #查看目前都有哪些分支

git branch [branch_name] #创建一个新的分支

git checkout [branch_name] #当前为此branch

如图,刚开始只有master主分支,然后我们创建了一个easy-mode的分支,然后当前分支设置为easy-mode,就可以看到小星星"* "移动到了easy-mode

如果想要看到某一分支什么时候产生的,可以输入以下代码来查看(这里的分支叫做coins) git log --graph --oneline master coins( 请注意,在可以使用 git log 查看 coins 分支之前,你需要使用命令 git checkout coins 检出 coins 分支 )

可以看到是在Revert controls之后产生了新的coins分支

3.合并分支

一个项目往往由不同的人同时开发,那么假如Jack创建了一个分支,对代码做了修改,Rachel也创建了一个分支,对代码做了修改,最终项目要合并。 首先我们先看一下项目合并的话,哪些代码会被保存下来,例子如下,初始的代码是ABD,然后Jack的代码是BDE,Rachel的代码是ABCD,那么最终合并的时候,由于A在初始的代码里面,但是被Jack删掉了,所以final不会有A,而BD存在于初始,Jack,Rachel的代码里面,保留,C和E分别都是初始没有的,但是后来添加上的,也保留

合并分支还会产生一个问题就是,你想要合并哪些分支?并且合并之后可能会删除其中一条分支的标签,怎么确定要保留哪个分支的标签,删除哪个分支的标签呢? 如果当前分支为branch1,并且运行git merge branch2 branch3,则合并的版本会将 branch1 以及 branch2 和 branch3 组合起来。 如果当前分支为branch2,运行git merge branch2 branch3,则将 branch2 和 branch3 组合起来,且branch2指向新的提交(即把branch3合并到了branch2上面,branch3的标签删掉

这部分详情请点击Udacity通过命令行合并

合并之后有的时候会报错,因为会有一些代码冲突,那么就需要人为的在代码上面进行修改了

至此,git的基本用法就学完了,接下来可以利用Github进行协作

其他问题

如何修改默认编辑器

只需输入下面的代码就可以了,此处我用的是Sublime,当然也可以使用Notepad++等的编辑器,地址为此编辑器的exe地址

git config --global core.editor "'C:Program FilesSublime Text 3/sublime_text.exe' -n -w"


任妍Carol:机器学习小白笔记目录​zhuanlan.zhihu.com

git编辑器选哪个_[Git]Git创建和修改代码库相关推荐

  1. git编辑器选哪个_对比了3款markdown编辑器,哪一款适合你呢?来看看吧

    下面推荐三款实用且好用的markdown编辑器,各有特点,大家喜欢哪一款呢?或者你手头有更好的推荐给大家,快来告诉我吧. Typora 这款是我现在使用频率最高的,也是一直在用的编辑器,可以实现实时的 ...

  2. Git的基本使用(用户初始化配置、新建代码库、把文件提交到缓存区、把文件提交到本地仓库等)

    [基本概念] Git: Git是负责对工作区的文件进行版本控制,因为Git装在本地,那么在本地(当前计算机下)就必须要有一个仓库,这个仓库中记录了所有的版本变化. Github: 公网上典型的远程仓库 ...

  3. linux git 撤销删除文件,删除文件以后,如何通过git撤销删除的文件,不提交到远端代码库...

    检查状态,看看发生了什么: $ git status On branch master Changed but not updated: (use "git add/rm ..." ...

  4. git托管怎么使用_使用Git构建和托管网站

    git托管怎么使用 Git是那些设法将大量现代计算封装到一个程序中的罕见应用程序之一,最终成为许多其他应用程序的计算引擎. 尽管它最着名的是跟踪软件开发中的源代码更改,但它还有许多其他用途,可以使您的 ...

  5. bash git 如何切换目录_【git】命令行与本地仓库/远程仓库

    终端里如何复制粘贴 在cmder里 粘贴是鼠标右键 粘贴时shift+Insert 复制是用鼠标选中即自动复制 在Git Bash里 粘贴是鼠标中键 粘贴时shift+Insert 复制是用鼠标选中, ...

  6. android git提交整个项目_使用git管理嵌入式软件版本

    点击上方蓝字关注我哦- 你现在的Keil工程的版本控制是怎么管理的?可能有些人的做法是发布一个版本软件后将代码打一个包保存起来,作为此版本的备份.有一种常见的情况,当开始一项新功能的开发,并且最终的效 ...

  7. commit git idea 速度慢_关于Git,这篇文章还不够吗?

    Git 安装 Git下载地址: https://git-scm.com/downloads Git安装(Window/Mac): 选择不同系统安装包安装 检验是否安装成功: 出现Git Bash命令行 ...

  8. git status怎么操作_新手 git 简明操作指南

    在工作中,我们可能需要采用 git 作为版本控制工具.所以对 git 的基本操作需要非常熟练,以至于我们能够应付工作上的需求.当然这里推荐一篇博文廖雪峰的git教程,有更详细的介绍.我这里对git的一 ...

  9. git ssh配置文件 服务器_【GIT】日常开发中的这些Git技巧你知道吗?

    Git是目前世界上最先进的分布式版本控制系统 0 git安装 1)在github下载git的release版本 git-release 2)安装git的依赖文件 sudo apt-get instal ...

最新文章

  1. Spring Cloud构建分布式电子商务平台:服务消费(基础)
  2. Foreach与Random
  3. 提升网站在搜索引擎中的排名需要技巧性操作
  4. cookie 的使用
  5. Python基础-----条件语句与初识基本数据类型(一)
  6. composer查看当前镜像取消_国内全量镜像大全
  7. qfp封装能够linux,QFP、PQFP、LQFP、TQFP封装形式及PCB详解
  8. 题解 P3367 【【模板】并查集】
  9. 系统学习机器学习之神经网络(九) --Hopfield网络
  10. iperf工具源码下载、编译、以及测试网络带宽
  11. css 设置背景颜色失效?
  12. Android init.rc on property
  13. 计算机台式电源3c号,3C认证和电脑电源有什么关系呢 其实很重要
  14. 【redis:二】持久化
  15. 有哪些简洁的人生建议?
  16. URL 的参数(query)是什么,以及如何解析获取
  17. 多目标进化算法(MOEAs)概述
  18. Ubuntu18在4K显示器如何调分辨率
  19. App Widgets 详解四 RemoteViews、RemoteViewsService和RemoteViewsFactory
  20. 关于程序员的几个小段子

热门文章

  1. python逻辑运算符的使用_总结Python中逻辑运算符的使用
  2. 【渝粤题库】陕西师范大学202881 电子商务概论
  3. 物联网对石油燃气行业的作用
  4. 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC
  5. node mysql安装目录_nodejs 指定全局安装路径和缓存路径
  6. android bench内存测试,华为p10内存测试软件(androbench) v5.0.1 免费版
  7. MySQL在哪里看secret_key_K8S 创建和查看secret(九)
  8. 密钥文件登录服务器,密钥文件登录云服务器
  9. MySQL中left join、right join与inner join的区别
  10. Debug method