一文读懂Git原理及最佳实践

简介: 一文读懂Git原理及最佳实践

👉引言💎


学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 热爱写作,愿意让自己成为更好的人............

铭记于心
🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉


1 工作流程


image.pngimage.png


2 常见问题


查看配置信息 git config --list                        
git config --global --list
git commit -m "消息"             
git remote -v 查看远程库信息
回滚git记录 git reset
查询git日志 git log


追加提交


  • 原因:不想再建立一个新的提交状态
  • git add . (添加提交内容)git commit --amend (追加到上次提交),进入编辑页面后,若修改提交描述,则修改完后:wq!保存退出,不修改则:q!退出
  • git commit --amend --no-edit不进入编辑页面,直接追加提交


merge冲突的解决


  • 冲突问题的解决命令
    git merge —abort
    git reset —merge
    git pull

在提交时会首先 pull下来 同步本地代码,然后  push 合并,如果pull之前文件在master里被更改,那么合并时就会与本地代码出现冲突,就需要解决冲突。

vscode等ide都提供了较为方便的冲突解决方式,就是只需要选择 接受master的更改,或者 接受本地更改,或者两者融合(所以建议 在 工作之前 首先进行pull,频繁进行pull,以保持与master的高度统一,这样就尽量解决造成的冲突问题)

合并的工作流程:先将本地文件同步成master,然后进行修改

image.png


分支创建与合并


  • 每个分支就像是一个平行宇宙,团队协作时可以在不同的分支中写功能,最后合并


分支创建


  • 直接在github上创建分支
  • ide中创建分支
  • push时修改分支名 创建新的分支


合并


  • git merge


3 必备命令


1、git init 初始化一个 Git 仓库,它将创建一个 .git 文件夹,后续的操作记录都会在此文件夹里,相当于 Git 的数据库。

2、git remote add origin 远程仓库地址将本地仓库和远程仓库关联,origin 是远程仓库的名字,是 Git 的默认叫法。 关联之后,我们就可以将本地的提交历史推送到远程仓库,完成和其他人的协同工作了。

3、git remote -v查看关联的远程仓库列表,返回远程仓库名和 URL:$ git remote -vorigin  github.com/schacon/tic… (fetch)

4、git status显示当前工作目录和暂存区的状态,例如创建了一个文件,此时 git status 就会在 Untracked files 里显示该未追踪的文件,如果将该文件 add 了之后,就会在 Changes to be committed 看到,即已经加到缓存区,等待提交。最后,当我们 commit,就会发现没有任何修改和未提交的文件了。

5、git add [file]用于将已修改或未跟踪的文件添加到暂存区

6、git commit -m "提交日志"将暂存区的文件提交到本地仓库

7、git log --oneline查看提交的日志信息

8、git diff ` 查看工作区的文件和暂存区的不同之处

9、git push origin <本地分支名>将本地的分支推送到 origin 远程仓库的上,第一次推送远程仓库将会在服务器上创建对应的分支,当第一次推送完后,后续可以直接使用 git push 这种简介用法了

10、git pull将远程仓库的最新内容合并到本地仓库里

11、git merge<其他分支名>将其他分支里的提交内容合并到当前分支里

12、git merge--abort合并是有可能有冲突的,如果冲突后想放弃合并,可以使用这个命令

13、git branch分支名称创建新的分支

14、git checkout 分支名称切换到其他分支上

15、git checkout -b 新分支名称相当于上面连个命令的合体功能,即创建新分支,然后切换到新分支上。

16、git branchgit branch -rgit branch -a分别是查看本地分支、查看远程分支、查看所有分支

17、git branch -d 分支名称删除分支,如果该分支没有合并过,则会提示相应错误,如果想要强制删除,可使用 git branch -D 分支名称

18、git clean -f删除本地仓库中未跟踪的文件,如果想删除的是目录,使用 -d

19、git reset用于重置暂存区的文件与上一次的提交(commit)保持一致,但不会重置工作区的修改,需使用 git checkout <文件名> 命令才能重置工作区的改动。或者使用比较危险的 git reset --hard HEAD 命令,会将工作区和暂存区都重置到上一次版本,包括 commit 信息。

20、git rm 文件、git rm --cached 文件名如果只是简单的在工作目录里手动删除文件,则还需要自己将修改添加到暂存区,然后再提交到本地仓库里才完成一次改动版本的记录。git rm 文件 则帮我们在删除的同时,也将修改添加到了暂存区,少了一步的操作。但有时候我们想保留该文件,以便后续使用,但又想把删除的改动添加到暂存区,此时就可以使用 git rm --cached 文件名 命令来达到此效果了。

21、git stash git stash pop如果我们开发到一半,需要重新创建一个新分支去解决线上问题,但此时又不想将当前的分支改动提交到对应分支上,则可以使用 git stash 将修改(包括工作区和暂存区)保存到堆栈中,等新分支处理完毕后,就可以切换到之前的分支,然后使用 git stash pop 恢复缓存的堆栈内容了。

🌹写在最后💖: 路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹


相关文章
|
17天前
|
Ubuntu 开发工具 git
Git高手必备:掌握这些版本控制最佳实践,让你的代码管理效率翻倍!
【10月更文挑战第25天】使用 Git 进行版本控制是现代软件开发的重要部分。本文详细介绍了 Git 的安装、配置、基本操作、分支管理、冲突解决及常用命令,帮助开发者提高工作效率,确保代码质量和团队协作的顺利进行。通过合理使用 Git,可以有效管理代码变更,支持多人协作,并追踪历史记录。
46 4
|
2月前
|
安全 网络安全 开发工具
深入探索Git:全面解析Git的用法与最佳实践
深入探索Git:全面解析Git的用法与最佳实践
57 2
|
6月前
|
存储 开发工具 git
Git的基本操作和原理
Git的基本操作和原理
|
2月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
200 1
|
3月前
|
存储 开发工具 数据库
Git的工作原理是什么
【8月更文挑战第24天】Git的工作原理是什么
48 0
|
5月前
|
前端开发 持续交付 开发工具
详细介绍Git的基本原理、在前端开发中的应用以及如何使用Git来优化团队协作
【6月更文挑战第14天】Git是前端开发中的必备工具,它通过分布式版本控制管理代码历史,支持分支、合并和冲突解决,促进团队协作。在前端开发中,Git用于代码追踪、版本控制、代码审查和持续集成部署,优化团队协作。制定分支策略、编写清晰提交信息、定期合并清理分支以及使用Git钩子和自动化工具能进一步提升效率。理解并善用Git,能有效提升前端项目的质量和开发效率。
77 3
|
5月前
|
开发工具 git 开发者
使用Git进行版本控制的最佳实践
【6月更文挑战第3天】使用Git进行版本控制的最佳实践包括:初始化配置Git仓库,设置个人信息和默认编辑器;提交信息要简洁明了,使用有意义的标题和描述;分支管理中,为新功能或修复创建分支,定期合并并保持主分支稳定;进行代码审查以保证质量;使用标签标记里程碑;忽略不必要的文件;定期备份仓库并学会恢复操作;不断学习和实践Git的高级用法。遵循这些实践可提升开发效率和代码质量。
|
6月前
|
运维 测试技术 开发工具
Git 的原理与使用(下)(二)
新特性或新功能开发完成后,开发人员需合到 develop 分支。
56 2
|
6月前
|
Java 网络安全 开发工具
Git 的原理与使用(中)(三)
别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。
44 1
|
6月前
|
存储 安全 开发工具
Git 的原理与使用(中)(二)
Fast Forward 模式(ff模式) 通常合并分支时,如果可以,Git 会采用 Fast forward 模式。
39 1