“Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”
认识一些概念
commit
对文件的修改,每个commit的修改都要看成是独立的
branch
commit不同的历程
冲突
不同的commit对同一份文件的同一处地方做出了不同的修改
从sourceTree看上面的概念
上面sourceTree的图就是有6个提交,commit了6次。在第四次commit的为什么会分出两条路径,因为分别在分支f和分支v,在第四次提交后,分别进行了一次的commit,相当于你和你的小伙伴在进行同步开发,分别commit了不同的修改。
开发中的一点小tips:
- 在开发前,先 pull 远程的仓库的代码,及时同步代码
- 在 pull 前,确保将本地的修改commit了,否则可能出现丢失的情况
- 及时适当地commit代码,以便代码的查询和回退
- 在本地开发时,对远程代码进行备份,另起分支进行开发
基本使用
// 修改文件保存后,
git add ./
git commit -m "修改简述"
git push -u origin master
一、1. 工作区 --> 暂存区
平时我们直接修改文件保存之后,这些修改信息会被保存在工作区。
使用 git status 可以看到哪些文件被修改过以及一些信息
使用 git add ./ 将当前工作区所有的文件修改保存进暂存区中
【注】:使用git命令前确保当前的文件夹是git仓库,被git init过或是git clone下来的文件夹,即文件夹下存在.git文件(一般隐藏起来了)
二、暂存区 --> 本地仓库
git status
使用git commit -m "说明" ,将暂存区中的文件修改提交到本地仓库
三、本地仓库 --> 远程仓库
(1)远程仓库没有分支
// git push -u <远程仓库名> <创建远程分支名 --- 与当前本地分支名一致>
git push -u origin a
// git push origin --set-upstram <远程仓库名> <远程分支名>
git push origin --set-upstream origin p
上述命令无论远程仓库中是否存在此分支都适用,若远程仓库中不存在分支,则进行创建;否则直接关联远程分支
【注】使用上述命令必须保持本地分支和远程分支的名字一致 ,要不会报以下错误:
(2) 远程仓库有分支
1. 远程仓库分支和本地分支已经关联的情况下:
git push
2. 远程仓库分支和本地分支还没关联,且本地分支想要提交到远程分支不同名的情况下:
// 第(1)种方法:
// git push <远程仓库名> <本地分支名>:<创建的远程分支名>
git push origin b:a
//此命令不会将本地分支和远程分支进行关联
// 第(2)种方法:
// 先关联分支
// git branch --set-upstream-to=<远程仓库>/<远程仓库已有分支> <本地分支
git branch --set-upstream-to=origin/a b
// 后推送
git push
可使用 git branch -vv 查看本地分支和远程仓库分支的关联情况
git branch -vv