文章目录
指令均写在git bash命令行内,在任意目录下右键即可打开。
Git下载
Git官网下载链接
进入后选择自己的系统,以Windows为例。
选择符合电脑CPU架构的安装包,微软的i几系列芯片属于x86架构,如果是AMD则属于ARM架构。
安装中选择合适的路径,默认也可,因为Git占用空间不大。
既然是速成,我们不想要了解太深,所以一路默认下一步。
首次使用
设置全局用户名和邮箱
git config --global user.name "你的用户名"
git config --global user.email (你的邮箱,不需要是真实的邮箱)
检测是否已有SSH
cd ~/.ssh
生成SSH:
ssh-keygen -t rsa -c "你的邮箱"
这步做完之后git会让你设置密码,直接回车可以设置为空密码,当然你要是怕有人用你的电脑也可以设置。
如果成功最后会给你一幅由你的密钥随机生成的字符画。
SSH是什么?我为什么要生成它?
SSH是用于和云端代码库(例如Github和Gitee)通讯的钥匙,分为私钥和公钥,生成成功后会在你的C:\Users\(你的用户名)这个路径下生成一个隐藏文件夹.ssh,里面有个id_rsa.pub文件就是你的公钥,可以用文本文档打开,复制粘贴到你的云端代码库的设置里的特定页面保存下来,就可以免去push的时候每次都要填你的云端库账号密码了。
云端代码库国内小白建议用Gitee,比较容易上手。
常用指令
创建新的git库
在你需要创建库的路径下右键,选择显示更多选项,再选择git bash。
然后输入git init
。请注意,一旦创建完成,这个路径,也就是这个文件夹下及其子文件夹里的所有文件都会被git管理。
创建完成后,该路径下会生成一个隐藏文件夹.git,通过设置可以看见它。
创建完成后,你git bash命令行的路径最右边会多出(master),这是用来告诉你你现在在哪个分支上,master是默认的主分支。由于该词汇可能存在的歧视性歧义,github的默认主分支已经改为了main。
添加文件到暂存区
git add .
该指令会将路径下所有文件加入暂存区,点表示所有文件。
提交暂存区到git库
git commit -m "自己填这次提交的注释"
注释是必填项,不填会报错。注释是给你或者团队成员看的,以后查提交日志进行回滚操作的时候方便你知道自己回滚到哪里合适,所以注释请描述这次提交的版本做了什么改动,或者提交的原因。
把本地git库推送给云端代码库
如果是第一次push,首先需要跟云端代码库建立联系
git remote add (自己给这个远程库起的名字) (远程库的地址,一般用SSH,在你创建的云端库那里找,如果遇到报错再尝试用https)
push指令:
git push (云端主机名,你自己在remote的时候起的)(本地分支名):(云端分支名)
如果本地和云端分支的名字一样,输入完本地分支名直接回车就行。
github push 代码 Connection refused 解决办法
从云端代码库获取代码到本地
如果你本地还没有与云端相连接的git库,请用克隆指令:
git clone (云端代码库的HTTPS)
注意,克隆完成后会在当前路径生成一个与你云端代码库完全一样的git库,并且云端库的名称会被默认命名为origin。
如果本地已经有与云端链接的git库,请用拉取指令:
git pull (云端库名字)
git pull
包含了git fetch
和git merge
两个指令
回滚git库
回滚操作是用来返回历史版本的
git log
可以查看提交历史,以此决定你要回滚到哪个版本,没好好写注释就麻烦了。
git reset --hard HEAD^
HEAD是指向当前版本的指针,HEAD^表示上个版本,HEAD^^表示上上个版本,以此类推。指定版本的代称也可以从git log里看到。
把本地库上传到云端流程
先add,再commit,最后push。
建议这套流程就不要用git bash做了,用git GUI会更方便,点几个按钮就行, 而且可以清楚的看到哪些文件修改了,新增了几行代码,删去了几行代码。我们下载的Git本身就自带了git GUI,右键菜单栏可以打开。
主播主播,有没有更不吃操作的云端本地仓库连接流程?
现在我们发现,在本地新建一个git仓库,再去链接云端仓库,是麻烦繁琐的。那有没有更简单的流程呢?
有的,兄弟,当然是有的,而且我发现不知为何,很多视频或博客里不讲这套操作。
只要把云端的仓库clone到本地,自然就是已经链接好了的仓库!
首先在远程仓库网站,如gitee上创建一个新的仓库,然后在创建好的云端仓库页面里,点击下载/克隆按钮,复制HTTPS,回到准备放置项目的文件夹(不需要新建子文件夹),右键打开git bash,使用上面提过的git clone命令,把云端仓库直接复制到本地,然后将你的项目丢进该文件夹中,或者直接在这个文件夹里新建你的项目,开始编写。
编写完成后,进行git add、commit、push等操作。
非原生Git
VS和IDEA等IDE也都有自己内置的Git,图形界面,操作简单,可以覆盖日常的操作。无论你用什么,本质上还是给git bash发命令,只不过换成操作更方便的形式。
分支
创建分支使用 git branch
,切换分支使用git switch
。git merge
合并分支或解决变更冲突。当几个人同时修改了同一个文件,并且commit了,git就不知道谁的才是最新版,向我们报告冲突。手动解决冲突就是确认一遍冲突的文件,修改成终版,然后做add和commit操作。
为了偷懒,我们可以尽量避免冲突产生。
遵守以下准则:
- Commit之前先同步(git pull)
- 安排好分工,不同的人编写不同文件。(对于C/C++,main函数只有组长提交修改,其他组员测试之后恢复原样再提交)
- IDE的项目配置文件,比如IDEA项目的.idea文件夹,使用.gitignore文件让git忽略掉。
遵守以上准则,可以减少冲突产生。