Git是目前世界上最优秀最流行的分布式版本控制系统,也是程序员们日常使用最频繁的工具之一(几乎每天都需要使用它来对源代码进行版本管理)。对于每一位程序员,掌握Git已经是大势所趋。手握Git,代码我有,嘿嘿~
园丁将带你探索Git的基本使用,如果你还没有安装好Git,那么请戳 Git
Git初始化如此简单
我们可以在任何一个地方新建一个文件夹作为我们的本地仓库。可以通过右击当前文件夹,选择 Git Bash here打开我们的Git窗口
Git窗口按我的理解来说,就好比于一个小型的Linux操作界面。如果你熟悉Linux操作系统命令,那太好了,Git学习起来会相当轻松。
接下来,我们尝试初始化我们打开的文件夹
git init
执行完这个初始化命令后,我们的文件夹下会多一个.git的隐藏文件夹(这个文件夹是关于当前本地仓库的一些配置信息)
Git添加远程仓库也不是很难的
现在我们有了本地仓库后,会出现两种情况
- 1 如果我们是通过
git clone [远程仓库地址]获取远程仓库的代码,此时我们的远程仓库地址会自动映射到我们本地 - 2 如果我们通过前面的初始化命令创建了一个本地的仓库,需要我们手动去配置远程仓库地址
git remote add origin [远程仓库地址]
- (1) git remote 是我们操作远程仓库的命令
- (2) origin 是我们远程仓库在本地仓库的别名(别名可以自定义,一般来说,在项目中都会取origin作为别名)
咦,我们执行完上面的命令后,怎么没有反应呢?
这个时候,不是没有反应,是Git呀已经悄悄的执行完了
git remote
我们可以通过上面这个命令来观察我们的所有的远程仓库的别名
哈哈哈,终于找到你啦
我们已经添加上我们的远程仓库啦,那么如何移除呢?可以执行以下命令进行移除操作
git remote remove [仓库的别名]
Git 该上主菜了
Git如何拉取?
虽然我们已经添加好了远程仓库,但是我们本地仓库并没有远程仓库的地址,我们该如何去做呢?
git fetch
执行 git fetch 后,本地仓库将可以获取到远程仓库的分支(如果本地没有对应的远程仓库分支,将会自动新建一个,如果已存在,则会执行更新操作)
我们已经有远程仓库的分支啦,接下来要做的事情,就是将远程仓库的代码合并到本地的分支上来
git merge master origin/master
这个时候,我们终于获取到远程仓库上最新的代码啦
** 友情提示:** git pull master origin/master 简化了拉取远程代码的操作,相当于上面两步奏的合体
git branch
执行 git branch ,就可以查看到本地我们所有手动创建的分支
Git 添加自己的代码?
这部分,先不多说,直接上图(一图抵千言~)

添加代码到暂存区
我们在本地仓库中添加一个新的文件1.txt
- (1) touch 新建一个文件命令
- (2) vim 编辑新建的1.txt
- (3) git status 可以查看本地仓库所有文件的状态
从图中我们可以看到新建的1.txt文件处于未跟踪状态
git add -A 或者 git add .
将所有未跟踪的文件夹添加到暂存区域,如果我们只想添加某一个文件至我们的暂存区,可以用git add [文件名] 添加单个文件
完成暂存添加后,我们的代码处于暂存状态(生活带点光~0_0),此时反悔还来的及
git rm --cached [文件名]
执行git rm --cached 1.txt会将我们提交到暂存区的文件移除,并且还原到我们未跟踪的状态
提交代码至本地仓库
如果我们已经将我们的代码提交到了暂存区,我们现在终于可以提交代码到我们的本地仓库啦
git commit -m "feat: add 1.txt"
可以看见我们的代码已经成功的提交到了本地仓库,关于这里有个需要注意的点。提交代码也需要规范哦
1 build: 主要目的是修改项目构建系统(例如glup,webpack,rollup的配置等)的提交
2 ci:主要目的是修改项目继续完成集成流程(例如Travis,Jenkins,GitLab CI,Circle)的提交
3 doc:对应的文档更新
3 feat:项目中的新增功能(feature)
4 fix: bug修复
5 pref:性能优化
6 refactor:重构代码(既没有新功能,也没有修复bug)
7 style:不影响程序逻辑的代码修改(更加规范,加入空白符,补全分号)
8 test:新增测试用例或是更新现有测试
9 revert:回滚某个更早之前的提交
10 chore: 不属于以上类型的其他类型
推送本地仓库至远程仓库,实现版本管理
终于进行到最后一步啦,此时我们的代码已经在本地仓库,准备提交至远程仓库啦
git push origin master
- (1)git push Git推送代码至远程仓库命令
- (2)origin 代表我们的远程仓库的别名
- (3) master 代表我们的本地分支的名字
执行完这一步后,我们真的成功了吗?
很明显,我们失败了。这就涉及一个问题,我们的远程仓库已经有一个版本了,此时我们要做的是拉取合并版本
git pull origin master
虽然我们成功从远程仓库拉取了分支到本地,但是我们还是没有合并成功。究其原因,还是版本号的问题(在前面的添加本地仓库中,我们采用的是自己初始化一个本地仓库,而不是
git clone 远程仓库的代码),如何去解决?
git merge master origin/master --allow merge unrelated histories
此时,我们已经成功解决了突出其来的问题
这时候,我们再一次提交我们的代码,是不是已经没有问题了
总结
1.这篇文章讲解了Git的基本操作,并解决了可能出现的问题
2.至于如何产生代码冲突以及如何解决代码冲突,园丁将在接下来的时间里带你继续探索
3.这篇文章,献给将要接触Git的小伙伴们。如果有经过的大佬,欢迎指定其中的不足,一定细心修改。
路过的小伙伴们,喜欢的顺手留个赞~~~