
workspace:工作区staging area: 暂存区local repository:本地仓库remote repository: 远程仓库git status 查看状态
Untracked filesChanges to be committed: 即改变它去提交nothing to commit 无需提交add后,并commit。状态为:Changes not staged for commit:本次操作,还没有暂存,等待去提交.
git init :把本地目录初始化,变成可以的本地仓库。git add: 提交本地目录的暂存区git commit -m '提交说明':提交暂存区的内容到本地仓库git-log:查看分支操作的状态和commit提交的id号git -log:查看详细日志git branch: 查看当前分支git branch 分支名:创建新的分支git branch -d 分支名: 删除指定分支git branch -D 分支名: 强制删除指定分支git checkout 分支名:切换到指定分支git checkout -b 分支名:切换到指定分支,-b表示,如果分支不存在,则创建git merge 分支名1:当前分支上和分支1进行合并。git reset 分支版本号: 每次commit都会产生一个id号,可以通过git-log查看。此命令可以回到前面的操作状态中去。堪称时光倒流在开发中,一般有如下分支使用原则与流程:
master (生产) 分支 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
develop(开发)分支 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线 要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
feature/xxxx分支 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完 成后合并到develop分支。
hotfix/xxxx分支, 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、 develop分支。
还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等 等。
git remote :查看远程仓库名称git remote add 远程仓库名称 远程仓库url :增加远程仓库,并在本地设置远程仓库名称git remote rm 远程仓库名称:删除远程仓库名称git clone 远程仓库地址 文件目录:将远程仓库克隆到本地指定的目录。如果不指定,就是当前窗口目录所在目录。git push 远程仓库名称 master:master: 将本地分支内容上传到远程分支的master。 使用-f可以强制覆盖git fetch 远程仓库名称 分支名:将远程仓库的某个分支,拉取到本地仓库git fetch 远程仓库名称 分支名:将远程仓库的某个分支,拉取到本地仓库。并且将本地分支和远程分支进行合并 ,等同于fetch+merge![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xMdmro4-1663397263623)(git笔记.assets/image-20220917141833367.png)]](https://1000bd.com/contentImg/2023/11/07/155454973.png)
小技巧:
查看本地分支和远程分支的关系
git branch -vv查看远程仓库的详细地址
git remote -vv进行push的省略操作
## 1.建立联系
git push --set-upstream 远程仓库名称 master(远程分支) # 推送到远端的同时并且建立起和远端分支的关联关系。
## 2.进行push
git push # 相当于 git push 远程仓库名称 master:master 以后可以直接省略
git clone
将远程仓库克隆到本地,此时有远程分支和本地分支,两者相互绑定(–set-upstream),进行push时,将head指向的远程分支推送。只有进行fetch拉取数据时,才会要求手动合并本地和远程分支。
git rebase master


分支合并冲突:
1. 在本地仓库中,有master和dev分支,分支中含有同一个文件,名为a.txt。在master中将a.txt第3行增加一行内容,为 count001,并且提交。在dev分支中将a.txt的第3行修改为count002,并提交。此时在master中,git merge dev。会报错,无法合并,解决办法:
此时在master中,进入a.txt,文件,发现里面同时含有master分支修改的内容和dev修改的内容。手动将不需要的内容进行删除。然后
git add .
git commit -m 'a.txt解决冲突'
git merge dev
这样既可以合并冲突了。
2.如果a在本地仓库修改了文件,不一会而b在本地仓库修改了文件。注意:同一个文件,同一行。b先将修改提交到远程仓库,a进行pull,可能会冲突。解决办法:
和1一样。进行冲突文件,修改,重新提交。