Git 这东西,说难不难,说简单也容易踩坑。其实日常开发用的命令就那么些,今天把它们捋得明明白白,新手也能照着用。
一、先搞定基础配置:告诉 Git "你是谁"
刚装完 Git 第一步,得让它知道你的名字和邮箱 ------ 这就像给你的代码操作 "盖章",以后提交记录里都会显示这些信息。
-
设置全局用户名:把引号里的 "你的名字" 换成你自己的(比如 "张三""LiSi")
git
arduinogit config --global user.name "你的名字"
-
设置全局邮箱 :引号里换你的常用邮箱(比如 "zhangsan@xxx.com")
git
arduinogit config --global user.email "你的邮箱"
-
查看配置对不对:输完上面两条,用这个命令检查有没有填错
git
luagit config --list
二、基础操作:从 "建仓库" 到 "拉远程代码"
这部分是开头最常用的 ------ 要么本地新建个仓库放代码,要么把网上(比如 GitHub、GitLab)的代码拉到自己电脑上。
-
本地新建仓库 :比如你在电脑上建了个 "my-project" 文件夹,想让它变成 Git 能管理的仓库,就先进入这个文件夹,再输下面的命令(执行后文件夹里会多一个隐藏的
.git
文件夹,别乱删!)git
csharpgit init
-
拉取远程仓库代码 :如果代码已经在网上了(比如别人分享的链接
https://xxx.git
),用这个命令把它复制到本地("地址" 就是远程仓库的链接,输完会自动建一个和仓库名一样的文件夹)git
bashgit clone 地址
-
删除本地仓库的版本控制 :如果不想用 Git 管理这个文件夹了,直接删掉文件夹里的
.git
隐藏文件夹就行 ------ 注意只是删版本控制信息,你的代码文件还在。
三、日常提交:改完代码,怎么 "保存" 到 Git 里?
写代码时,改一点、存一点是好习惯。Git 里 "保存" 分两步:先把要保存的文件 "挑出来"(暂存区),再 "确认保存"(本地仓库)。
-
第一步:挑出要保存的文件
-
只挑一个文件:把 "文件名" 换成你改的文件(比如
index.html
)git
csharpgit add 文件名
-
挑所有改了的文件:如果改了好几个,不想一个一个输,用
.
代表 "当前文件夹下所有修改过的文件"git
csharpgit add .
-
-
第二步:确认保存到本地仓库:"备注" 一定要写清楚你改了啥(比如 "修复登录按钮 bug""添加首页轮播图"),不然过几天你自己都忘了
git
sqlgit commit -m "备注"
-
查看当前文件状态:不知道自己改了哪些、哪些没挑出来?输这个命令,Git 会告诉你:哪些文件是 "新的没被跟踪""改了没挑""挑了没保存"
git
luagit status
四、分支相关:多任务并行?用分支就对了
比如你要开发新功能,又不想影响正在运行的代码,就可以建个 "新分支" 专门写新功能,写完再合并回去。这部分命令帮你管理分支。
-
查看本地有哪些分支 :输完会列出来,当前正在用的分支前面会有个
*
号git
git branch
-
切换到已有的分支 :比如有个分支叫 "dev",想切过去就输这个(
checkout
和switch
效果一样,选一个记就行)git
csharpgit checkout 分支名 # 或者 git switch 分支名
-
新建分支并立刻切换过去:比如想建个 "new-feature" 分支,同时直接用它(不用先建再切,一步到位)
git
rgit checkout -b 新分支名 # 或者 git switch -c 新分支名
-
合并分支代码:比如你在 "new-feature" 分支写完功能了,想把代码合并到 "dev" 分支。步骤是:先切到 "dev" 分支,再执行合并命令("分支名" 就是你要合并进来的分支,比如 "new-feature")
git
sqlgit merge 分支名
五、远程仓库管理:和网上的代码同步
本地代码写好了,要传到网上(比如 GitHub);或者网上代码更新了,要拉到本地 ------ 这部分就是干这个的。
-
查看已关联的远程仓库 :看看当前本地仓库有没有连网上的仓库,默认连的仓库名一般是
origin
git
git remote
-
首次关联远程仓库 :如果本地仓库还没连网上的,就用这个命令("地址" 是网上仓库的链接,比如
https://github.com/xxx/xxx.git
)git
csharpgit remote add origin 地址
-
取消关联远程仓库:如果想换个远程仓库,先把原来的关联删掉("origin" 是要删的远程仓库名)
git
arduinogit remote remove origin
-
拉取远程最新代码(不自动合并) :只把网上的新代码 "下载" 到本地,但是不跟你本地的代码混在一起 ------ 适合你想先看看更新了啥,再决定要不要合并
git
sqlgit fetch
-
拉取远程代码并自动合并 :如果确定要把网上的新代码跟本地的合并,直接用这个(相当于
git fetch
加git merge
两步合成一步)git
git pull
-
把本地代码推到远程仓库
-
第一次推送:要告诉 Git 推到哪个远程仓库的哪个分支("分支名" 是你本地要推的分支,比如 "main"),输完这次,以后就不用加
-u origin 分支名
了git
perlgit push -u origin 分支名
-
非第一次推送:直接输这个就行,Git 会记住你上次推的位置
git
perlgit push
-
六、历史查看:想知道以前改了啥?看这里
忘了之前提交过什么,或者想找某个版本的代码?用这两个命令看历史记录。
-
查看详细提交历史:会按时间倒序显示,包括谁提交的、什么时候提交的、提交备注,还有一串长长的版本号
git
bashgit log
-
查看简洁版提交历史:一行显示一个提交,只显示精简的版本号和备注 ------ 看整体历史更清爽
git
luagit log --oneline