《第一行代码》中的Git学习笔记

本文详细介绍Git的基本概念及常用命令,包括安装配置、提交撤销、分支管理等核心技能,并讲解如何使用GitHub进行代码托管。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我的第一篇博客文章,开通优快云博客已经好几年了但是只是看却迟迟没有动笔,我想写博客的主要目的是帮助自己记录学习历程以及一些填坑操作的。

第一篇文章就记录一下我之前的Git学习笔记吧,主要是学习的郭霖大神的《第一行代码》中Git时间的部分。也适合一些零基础的童鞋入门一下。《第一行代码》中Git时间分布在5.6、7.5、11.5、14.2等4个章节里。

1、Git是一个开源的分布式版本控制工具。

2、Windows系统Git安装包获取地址: https://gitforwindows.org/
     下载完成后双击安装包进行安装,之后一直点击下一步就可以完成安装了。

3、Windows上安装的Git以及在Android Studio中都是支持以图形化的形式操作Git的,但是Git的各种命令才是我们应该掌握的核心技能。

4、配置身份(配置完成后你还可以使用同样的命令来查看是否配置成功,只需要将最后的名字和邮箱地址去掉即可): 
      git config --global user.name "Tony"
      git config --global user.email "tony@gmail.com"

5、创建本地代码仓库: 
      git init 
      仓库(Repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中.
      仓库创建完成后,路径后面会有(master)字样表示主线,并且会在项目的根目录下生成一个隐藏的.git文件夹目录,这个目录就是用来记录本地所有的Git操作的。如果想要删除本地仓库,只需要删除这个文件夹就行了。
        查看所有文件: ls -al (以详细列表展示)
        查看所有非隐藏文件: ls (只展示文件或文件夹名称)

6、提交本地代码:
      add 是用于把想要提交的代码先添加进来,commit 则是真正地去执行提交操作。如下:
          git add [文件名]/[目录名]                        添加 单个文件/整个目录下的所有文件
          git add .                                                  添加所有的文件
          git commit -m "提交的描述信息"          提交(提交之前必须先添加否则无效)
      注意:在commit命令的后面我们一定要通过-m参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的。

7、忽略文件:将指定的文件或目录排除在版本控制之外。
      Git会检查代码仓库的根目录下是否存在一个名为.gitignore的文件,如果存在的话就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。
      AndroidStudio 项目中我们并不需要自己去创建.gitignore文件,Android Studio 在创建项目的时候会自动帮我们创建出两个.gitignore文件,一个在根目录下面,一个在app模块下面。
      当然,我们完全可以对以上两个文件进行任意地修改,来满足特定的需求。

8、查看自上次提交后文件修改的内容:
      git status                          查看文件修改情况(展示到文件名
      git diff                               查看所有文件的更改内容详情(展示到
      git diff [全路径+文件名]    查看指定文件的更改内容详情(展示到
      如:git diff app/src/main/java/com/liuxb/gittestdemo/MainActivity.java
      注:1.减号代表删除的行标记为红色,加号代表添加的行标记为绿色;
             2.在查看更改内容详情状态下按'Q'键可退出查看状态;
             3.只有未添加的文件才能使用 git diff 命令查看更改内容详情,已添加的文件将不显示更内容。

9、撤销未提交的修改:(只要代码还未提交,所有修改的内容都是可以撤销的。
      git checkout [全路径+文件名](必须)             撤销对指定文件的修改(不指定文件无效)(checkout 命令既能撤销修改,又能切换分支)
      执行了这个命令之后,我们对这个文件所做的一切修改就应该都被撤销了。不过这种撤销方式只适用于那些还没有执行过add命令的文件,如果某个文件已经被添加过了,这种方式就无法撤销其更改的内容。对于已添加的文件我们应该先对其取消添加,然后才可以撤回提交。取消添加使用的是reset命令:
      git reset HEAD [全路径+文件名](不必须)     取消添加; (HEAD不区分大小写,HEAD表示当前版本如果不写的话默认当前版本)

注意:执行 git add . 命令前后的区别:
      1.执行 git add . 命令未添加的文件:A:执行git status 命令后文件修改情况显示为红色;B:执行git diff命令后显示文件更改内容详细;C:需撤销修改时可直接使用checkout命令撤销修改;
      2.执行 git add . 命令已添加的文件:A:执行git status 命令后文件修改情况显示为绿色;B:执行git diff命令后无任何信息显示;C:需撤销修改时需先使用reset命令取消添加然后才能使用checkout命令撤销修改。

10、使用log命令查看提交记录
        git log                                     查看历史全部提交信息
                每次提交记录都会包含提交id、提交人、提交日期,以及提交描述这四个信息。
        git log -n                                 查看最近的n次提交记录(如:git log -1 表示最后一次提交记录)
        git log [记录id]                        查看该id及其之前所有的记录(可带参数-1,-2等表示查看几条)
        git log [记录id] -1                    只查看该id的一条记录
        git log [记录id] -1 -p               查看这条提交记录具体修改了什么内容

11、分支的用法:分支的英文是branch
        分支的主要作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线(master分支或main分支)分支线上同时进行开发,且相互之间不会影响。

        git branch                         查看本地所有分支,即查看本地当前的版本库当中有哪些分支(哪个分支的前面有*号,就说明目前我们的代码在哪个分支上,且该分支显示为绿色)
        git branch -a                     查看远程分支
        git branch [分支名]           创建一个分支
        git checkout [分支名]       切换到该名字的分支上(checkout 命令既能撤销修改,又能切换分支)
        注意:在分支线上修改并提交的代码将不会影响到主干线(master分支)。同样的道理,在主干线(master分支)上修改并提交的代码也不会影响到分支线。可以使用merge 命令来完成合并操作:
        git merge [分支名]            把在该名字的分支上修改并提交的内容合并到当前分支
        在合并分支的时候有可能出现代码冲突的情况,这个时候你就需要静下心来慢慢地找出并解决这些冲突。
        git branch -D [分支名]      删除掉该名字的分支

12、与远程版本库协作
        git remote -v                        查看远程版本库的Git地址
        git clone [远程地址]             将远程版本库的代码下载到本地(相当于SVN的checkout命令)
        上传:
        git push origin master        把本地修改和提交的内容同步远程版本库的master分支上
        其中origin部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上,上述命令就完成了将本地代码同步到origin(即:clone的[远程地址])这个版本库的master分支上的功能。
        下拉:Git提供了两种命令来完成将远程版本库上的修改同步到本地的功能,分别是 fetch 和 pull。
        (1)git fetch origin master                 将远程版本库上的代码同步到本地
        不过同步下来的代码并不会合并到任何分支上去,而是会存放到一个origin/master分支上,这时我们可以通过diff 命令(git diff origin/master)来查看远程版本库上到底修改了哪些东西,之后再调用merge命令(git merge origin/master)将origin/master分支上的修改合并到主分支上即可。
        (2)git pull origin master                   从远程版本库上获取最新的代码并且合并到本地
        pull 命令相当于将 fetch 和 merge 这两个命令放在一起执行了,所以更常用。

13、将代码托管到GitHub
        GitHub的官网地址:https://github.com/ 
        GitHub是全球最大的代码托管网站,主要就是通过Git来进行版本控制的。
(1)创建远程版本库:(Start a project)/(New repository)——>(Create a new repository):将版本库命名,然后选择添加一个Android项目类型的.gitignore文件,以及使用Apache License 2.0来作为开源协议,并勾选“Initialize this repository with a README”;
          版本库创建完成,GitHub会自动帮我们创建.gitignore、LICENSE 和 README.md 这3个文件,其中编辑 README.md 文件中的内容可以修改GitHub版本库主页的描述。
(2)在Android Studio中新建一个Android项目(不必与GitHub版本库的名字完全相同);
(3)将远程版本库克隆到本地:打开Git Bash并切换到Android Studio的工程目录下,输入git clone [远程地址]把远程版本库克隆到本地。
(4)将远程版本库目录中的所有文件全部复制粘贴到Android Studio的工程目录(上一层目录)中,这样就能将整个Android Studio的工程目录添加到版本控制中去了。
        注意:.git是一个隐藏目录,在复制的时候千万不要漏掉。另外,Android Studio工程目录(上一层目录)中也有一个.gitignore文件,我们直接将其覆盖即可。复制完之后可以把本地的远程版本库目录删除掉。
(5)把Android Studio项目中现有的文件提交到GitHub上面:
    git add .                                         将所有文件添加到版本控制中;
    git commit -m "描述信息"              在本地执行提交操作;
    git push origin master                   将提交的内容同步到远程版本库,也就是GitHub上面。
        注意:1.主干分支可能修改为以main来命名,所以最后一步的命令需修改为 git push origin main ; 
                  2.最后一步可能会需要输入GitHub的用户名和密码来进行身份校验;
                  3.前两步的添加和提交都是本地操作,只有最后一步的同步(上传)是远程操作;
                  4.本地仓库包含了仓库的全部信息,push只是一个同步(上传)的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值