笔记-- git使用整理

本文介绍了Git中分支的基本概念及使用方法,包括如何创建、切换、合并分支,以及如何处理分支中的常见问题。同时提供了实用的命令示例,帮助读者更好地理解并应用到实际工作中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



刚开始使用git 的时候,总是‘担惊受怕’ --因为大家一起的话--怕把大家代码‘毁了’····· 后来发现,完全没必要~~~=_= git 管理代码好“冗余”~哈哈


【写在开头:使用git超级推荐zsh ~ 用下就知道啦~】


首先,git 用分支 branch 的概念来管理代码, 不同分支代码可以不一样。
一般公司的代码一般至少要有一个master 分支,这个分支大多数对应线上代码~
还会有一个 开发 develop分支,用来给小组人开发~
一般还会有好多其他分支的。


分支又分为远程分支和本地分支。 远程分支origin/branchA 就是在远程服务器上,大家都可以看到的分支。本地分支就是仅自己可以看到的分支。
分支查看命令:
                    git branch -r
本地分支查看:
                   git branch
查看所有分支:
                   git branch -a




你要开发一个功能,之后要合并到不止一个分支。(指向合并自己的代码到多个分支,因为develop上可能有队友不想要合并的)
所以,对于代码不是很少的开发,建议都建一个自己的分支(如果不希望让大家都看到这个分支,可以是本地分支。)
分支的建立:
                 git branch mybranch
然后切换到这个新的分支:
                 git checkout mybranch
切换到新的分支之后,准备coding了~~~
如果这个分支可以push到远程,可以在代码修改之后先把分支push到origin:
                 git push origin mybranch


首先,你看到的本地这些文件属于  【工作区】。
为了防止代码的丢失,建议及时提交代码。 提交代码分为两部分,将本地【工作区】的文件 添加到 【仓库】stage,然后从仓库里commit到 【版本库】。
虽然要及时提交代码,但是我并不觉得频繁commit会很好,我们可以多次修改了好多代码 将他们及时 添加到  【仓库】 ,然后一次性commit 到 本地的 【版本库】。
查看本地有哪些文件做了修改:
                   git status
查看修改的内容:
                   git diff
然后将列出的修改过的文件添加到本地仓库:
                   git add  ./test/test.php
                   git add new-test.php
在提交之前可以通过下面的命令查看到底要提交什么:
                    git diff HEAD
然后叫仓库中多次添加的修改一次性commit:
                   git commit -m "Modify: xxxxxcommentxxxxx"
ps: -m 后面的评论,最好写仔细,这样利于后面出问题的时候执行撤销等操作。




【比较操作总结“】
因为不是可视化界面的,很多时候会想比较本地文件与xxx的不同:
a: 比较当前分支与develop的不同:                    git diff origin/develop
b: vim形式比较当前某个文件与develop分支这个文件的区别:                      git difftool develop test.php




ok,接下来可以查看历史提交记录:             git log
ok,刚才进行了一次提交,但是你后悔了,想撤销刚才的操作:          git reset --hard HEAD^
这个命令只是对当前分支,且本地分支 起作用。 
之后本地工作区文件就回退到上次之前的版本了。
可以再次通过   git log   查看,刚才提交的信息已经没有了。
如果想回到上上次或更早的版本的话,可以直接根据   commit_id  来实现。 commit_id 可以通过git log 查看具体某次提交对应id。(所以commit的时候要写好comment哦
得到commit_id之后, 姐可以使用            git reset --hard commit_id   
来实现版本的任意回退了


有了回到过去,就会有回到未来。git reflog 命令=========>不常用, 略。 因为我大多想退回未来的时候,是想得到最新代码时候 git pull 就ok了。。。


如果本地某个文件被改坏了,但是又不想用git pull 覆盖所有的改动文件。可以使用               git checkout -- urfile    
来实现某个文件的单独更新。 notice:   --  和 urfile 直接有空格。




接下来,所有代码在本地这个分支提交后,要将其合并到所需要合并的分支 ,
git checkout 切换到想要合并的分支                                 git merge urbranch




本地分支使用完之后就可以删除了。因为develop已经被更新好多版本,如果还需要自己的分支,只需要git checkout 到develop分支,git pull 更新下代码 重新建立一个分支就ok啦。  新建分支,一般称为 拉取分支; 新建分支的时候,所在的分支就是 从哪里拉取分支。 所拉取的分支跟这个分支最开始是完全一样的。
如果分支被push到过远程分支,使用如下命令删除这个远程分支:
                             git push origin --delete urbranch
之后,本地这个分支仍存在,可以使用如下命令删除本地这个分支:
                             git branch -d urbranch
如果本地这个分支仍有改动,提示无法删除的时候,可以强制删除:
                             git branch -D urbranch






============
以上仅供学习整理使用,如有错误,还请核实。
<think>好的,用户想要寻找关于Git的学习资料,特别是搭建相关的教程或指南。首先,我需要回顾用户提供的引用内容。 引用[1]提到了Git教程,推荐了Gitee和GitLab,适合国内用户使用,因为GitHub可能有访问速度问题。用户可能需要基础教程和替代平台的信息。引用[2]详细说明了如何在本地搭建Git服务器,包括初始化仓库和客户端上传步骤。用户对搭建自己的Git服务器感兴趣,比如公司内部使用GitLab的情况。 接下来,我需要整理这些信息,分步骤回答。首先,推荐基础学习资料,包括官方文档和中文教程。然后,介绍搭建私有仓库的教程,包括GitLab和Gitea。用户可能还需要了解自建服务器的步骤,比如使用git init --bare创建裸仓库,以及客户端如何连接。此外,可能还需要推荐书籍和视频教程,帮助用户深入学习。 用户的问题可能还涉及如何选择适合自己团队的解决方案,比如GitLab适合企业,而Gitea适合轻量级需求。需要解释不同工具的优缺点。另外,基础操作和进阶资源也需要覆盖,确保用户从入门到进阶都有资料参考。 检查是否有遗漏点,比如权限管理、分支策略等高级主题,是否需要提及?根据引用内容,用户主要关注搭建教程,但可能也需要一些进阶资源。因此,在推荐资料时,应包括基础和进阶内容,满足不同层次的需求。 最后,生成相关问题,帮助用户深入探索Git的搭建和使用。例如,如何选择自建Git服务,或者Git仓库的权限管理方法。这些问题能引导用户进一步学习,解决实际操作中可能遇到的问题。</think>以下是关于Git学习资料及搭建教程的整理和推荐,结合引用内容和实际需求: --- ### 一、Git基础学习资料 1. **官方文档** Git官方提供完整的英文文档,涵盖所有基础命令和原理:[Git Book](https://git-scm.com/book/en/v2) *适合系统性学习,但需要一定英语基础。* 2. **中文快速入门教程** - 廖雪峰Git教程:[Git教程](https://www.liaoxuefeng.com/wiki/896043488029600) *从安装到分支管理,内容通俗易懂,适合新手。* - 菜鸟教程Git篇:[Git简明指南](https://www.runoob.com/git/git-tutorial.html) *提供命令速查和基础操作演示。* --- ### 二、Git私有仓库搭建教程 #### 1. **自建Git服务器** - **引用[2]的方法**: 在服务器上执行 `sudo git init --bare sample.git` 创建裸仓库,客户端通过SSH或HTTP协议连接上传代码[^2]。 *适用于小型团队或个人项目,无需复杂配置。* - **详细步骤**: ```bash # 服务器端 mkdir /opt/git && cd /opt/git sudo git init --bare myproject.git chown -R git:git myproject.git # 设置权限 # 客户端 git remote add origin user@server:/opt/git/myproject.git git push origin master ``` #### 2. **企业级解决方案** - **GitLab搭建** - 官方文档:[GitLab Omnibus安装指南](https://docs.gitlab.com/ee/install/) *提供Docker、Linux等多种安装方式,适合企业级代码管理。* - 国内优化方案: *替换Gem源为阿里云镜像以加速安装,解决依赖问题。* - **轻量级替代:Gitea** - 官网教程:[Gitea快速部署](https://docs.gitea.io/en-us/) *单二进制文件部署,资源占用低,适合中小团队[^1]。* #### 3. **国内代码托管平台** - **Gitee(码云)** - 官方教程:[Gitee帮助中心](https://gitee.com/help) *提供Git基础操作、仓库管理及CI/CD集成,访问速度快。* --- ### 三、进阶学习资源 1. **分支策略与协作** - 《Pro Git》第5章:[分布式Git工作流](https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows) *深入讲解Git Flow、GitHub Flow等协作模型。* 2. **权限管理** - GitLab权限配置:[Project Members权限说明](https://docs.gitlab.com/ee/user/permissions.html) *细化开发者、维护者角色权限,保障代码安全。* 3. **书籍推荐** -Git权威指南》:全面覆盖Git底层原理和高级技巧。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值