git的小总结

106 阅读2分钟

“Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”

认识一些概念

commit

对文件的修改,每个commit的修改都要看成是独立的

branch

commit不同的历程

冲突

不同的commit对同一份文件的同一处地方做出了不同的修改

从sourceTree看上面的概念

image.png

上面sourceTree的图就是有6个提交,commit了6次。在第四次commit的为什么会分出两条路径,因为分别在分支f和分支v,在第四次提交后,分别进行了一次的commit,相当于你和你的小伙伴在进行同步开发,分别commit了不同的修改。

开发中的一点小tips:

  1. 在开发前,先 pull 远程的仓库的代码,及时同步代码
  2. 在 pull 前,确保将本地的修改commit了,否则可能出现丢失的情况
  3. 及时适当地commit代码,以便代码的查询和回退
  4. 在本地开发时,对远程代码进行备份,另起分支进行开发

基本使用

image.png

// 修改文件保存后,
git add ./
git commit -m "修改简述"
git push -u origin master

一、1. 工作区 --> 暂存区

平时我们直接修改文件保存之后,这些修改信息会被保存在工作区。

使用 git status 可以看到哪些文件被修改过以及一些信息

image.png

使用 git add ./ 将当前工作区所有的文件修改保存进暂存区中

【注】:使用git命令前确保当前的文件夹是git仓库,被git init过或是git clone下来的文件夹,即文件夹下存在.git文件(一般隐藏起来了)

二、暂存区 --> 本地仓库

git status

image.png

使用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