多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Git入门笔记:从零开始,一个下午跑通基本流程

Git入门笔记:从零开始,一个下午跑通基本流程 作为一个刚毕业的QA之前对Git一知半解今天花了一个下午从零开始学把基本流程跑通了。整理成笔记给同样是小白的同学参考。一、Git和GitHub是什么关系很多人包括之前的我搞不清这两个东西。Git是一个装在你电脑上的工具用来管理代码的版本。它不是用来写代码的写代码用VS Code这类编辑器它的作用是记录代码的每一次变化。比如你写了一段代码改了一版又改了一版Git能帮你记住每一版长什么样随时可以回到任何一版。GitHub是一个网站相当于一个代码云盘。你把Git管理好的代码上传到GitHub上存着别人也能看到、也能下载。实际工作中是怎么配合的开发在VS Code里写好代码 → 用Git命令把代码提交到本地仓库记录我改了什么 → 用Git命令把代码推送到GitHub/GitLab上传到服务器 → 其他人在GitHub/GitLab上看到你的代码 → 在网页上点合并按钮把你的代码合到主分支里。所以合并代码这个动作是在GitHub或GitLab网站上操作的但背后用的技术是Git。打个比方Git就像你手机上的相册帮你管理照片的不同版本GitHub就像iCloud把照片同步到云端让其他人也能看到和协作。二、安装Git去官网下载Gitgit-scm.com下载完双击安装一路往下走。安装过程中有几个选项注意一下On the Desktop勾上桌面会多一个Git图标方便以后打开Git Bash here勾上右键文件夹可以直接打开Git命令行很实用Check daily for updates不用勾每天检查更新挺烦的Add a Git Bash Profile to Windows Terminal建议勾上以后在Windows终端里也能用Git后面有个界面问选择默认编辑器选Notepad就行就是系统自带的记事本最简单。再后面问命令行默认用哪个选Git Bash。装完之后桌面会多一个Git Bash的图标双击打开就是一个黑底白字的命令行窗口。这个窗口就是你跟Git对话的地方你在里面打字Git执行你的指令。三、配置身份信息打开Git Bash输入两行命令git config --global user.name 你的名字 git config --global user.email 你的邮箱这两行命令是什么意思git config 是配置的意思告诉Git一些基本信息。--global 是全局的意思表示这个配置对所有仓库都生效。你只需要配一次以后不管建多少个仓库Git都会自动用这个名字和邮箱。user.name 和 user.email 就是告诉Git你是谁。为什么要告诉Git你是谁因为以后每次你提交代码Git都会记录这段代码是谁写的。你们公司多人协作的时候每个人提交的代码都带上了自己的名字这样就知道谁改了什么。你的名字和你的邮箱填什么把引号里的内容换成你自己的。名字可以用你的拼音或者英文名比如 zhangsan。邮箱填你常用的QQ邮箱、163邮箱都行。这个不影响功能就是个标识随便写一个你记得住的就行。完整示例git config --global user.name zhangsan git config --global user.email zhangsanqq.com输完之后可以用 git config --list 检查一下这个命令的意思是列出所有配置。看看列表里有没有出现 user.namezhangsan和 user.emailzhangsanqq.com有的话就说明配好了。四、建第一个仓库依次输入以下命令每行按一次回车cd ~/Desktop mkdir practice cd practice git init每一行是什么意思cd ~/Desktop — cd 是change directory的缩写意思是切换目录/文件夹。~/Desktop 就是你的桌面。这行的意思是去桌面。mkdir practice — mkdir 是make directory的缩写意思是创建文件夹。practice 是文件夹的名字你可以随便取比如叫 myproject、test 都行。这行的意思是在桌面上建一个叫practice的文件夹。cd practice — 进入刚才建的那个文件夹。git init — init 是initialize的缩写意思是初始化。这行的意思是把这个文件夹变成一个Git仓库。输完 git init 会看到一行提示Initialized empty Git repository in C:/Users/你的用户名/Desktop/practice/.git/这就说明仓库建好了。注意命令行末尾多了一个 (master)表示你现在在 master 分支主分支上。什么是分支分支你可以理解成平行宇宙。master 是主分支也就是主线。以后你改代码可以在别的分支上改改完了再合并回 master这样主线不会被搞乱。你们公司开发同事每个人都有自己的分支写完代码再合并到主分支。五、创建文件并提交先创建一个测试文件echo hello git test.txt这行命令是什么意思echo 是输出/显示的意思。hello git 是要写的内容。 是写入到。test.txt 是文件名。合起来就是把 hello git 这几个字写进 test.txt 文件里。执行完之后你可以去桌面看看会多出一个叫 practice 的文件夹里面有个 test.txt 文件双击打开就是 hello git。这就是Git管理文件的第一步——先有文件才能用Git去管理它。然后把文件添加到Gitgit add .这行是什么意思git add 的意思是把文件添加到Git的待提交列表。你可以理解成把文件放进购物车准备好了但还没结账。. 是一个点意思是当前文件夹下的所有文件。因为你现在在 practice 文件夹里所以 git add . 就是把 practice 文件夹里所有文件都准备好要提交。如果你只想添加某一个文件可以写文件名比如 git add test.txt。. 就是个偷懒的写法不用一个一个写文件名全部一起添加。输完这行不会有什么提示这是正常的说明执行成功了。最后提交git commit -m 第一次提交这行是什么意思git commit 的意思是正式提交。你可以理解成结账把刚才放进购物车的文件正式保存为一个版本。-m 后面引号里的是提交说明写你这次做了什么。这个说明很重要因为以后回看记录的时候你就知道每次提交改了什么。比如 修复了登录bug、新增了搜索功能 这种。提交成功后会看到类似这样的输出[master (root-commit) ea090fa] 第一次提交 1 file changed, 1 insertion() create mode 100644 test.txt这几行是什么意思[master (root-commit) ea090fa] — 在master分支上做了第一次提交root-commit表示这是第一个提交编号是ea090fa1 file changed, 1 insertion() — 改了1个文件新增了1行内容create mode 100644 test.txt — 创建了test.txt这个文件六、查看提交记录git log这行是什么意思git log 就是查看日志/记录。会列出这个仓库里所有的提交记录。每条记录包含commit 编号— 这次提交的唯一标识很长一串比如 ea090fa0122f3d73fd8bca061a1791f9b48d9132。就像每个人的身份证号一样每个提交都有唯一的一个编号。平时用的时候取前7位就行比如 ea090fa因为一般不会有两个提交的前7位相同。Author— 提交人的名字和邮箱就是你刚才在第三步配置的那个Date— 提交时间提交说明— 你写的 -m 后面的内容比如第一次提交这就是你之前问的名字在哪里能看到——就在这里。以后每次提交都会记录是谁做的。七、修改文件再次提交echo hello git, this is version 2 test.txt git add . git commit -m 第二次提交修改了内容这三行的意思是把test.txt的内容改成 hello git, this is version 2然后添加到Git然后提交。再 git log 看看应该有两条提交记录了。第一条是第一次提交第二条是第二次提交修改了内容。八、回到之前的版本时光机这是Git最强大的功能。假设你把文件改坏了想回到第一次提交时的状态git checkout ea090fa -- test.txt这行是什么意思git checkout 的意思是切换到某个版本。ea090fa 是第一次提交的编号取前7位就行从 git log 里可以看到。-- 后面跟的是文件名 test.txt表示只恢复这一个文件。合起来就是把 test.txt 这个文件恢复到 ea090fa 这个提交时的样子。输完之后打开 test.txt内容已经变回了 hello git。不管你怎么改随时可以回到任何一个历史版本。这就是为什么公司里开发改出bug了不慌——回退就行。九、常用命令总结命令作用通俗理解git init新建仓库把这个文件夹交给Git管理git add .把所有改动的文件准备好要提交把文件放进购物车git commit -m 说明提交并写一句说明结账保存为一个版本git log查看提交历史翻看历史记录git checkout 编号 -- 文件名把文件恢复到某个历史版本时光机回到过去就这5个够日常用了。其他的用到了再查就行不用死记。十、写在最后学Git不需要什么基础会打字就行。关键是动手练光看教程没用。花一个下午把上面的流程跑一遍你就比很多刚入行的人强了。下一步可以学怎么注册GitHub账号把代码传上去。以后面试的时候GitHub上有项目就是加分项。共勉。
返回列表