首页 > 其他分享 >【学习笔记】Git代码管理手册与协同开发(全网最全Git教程)

【学习笔记】Git代码管理手册与协同开发(全网最全Git教程)

时间:2024-10-09 13:19:21浏览次数:3  
标签:origin 教程 git 仓库 最全 dev Git 版本 远程

目录

一.简介与环境搭建

        n.注册账户

二.基本操作

 1.创建和提交

2.版本回退

3.查看工作区状态

4.撤销修改

5.删除文件

三.协同开发

1.远程仓库

配置公钥:

新建仓库:

关联远程仓库:

推送到远程仓库:

 从远程仓库拉取:

 删除远程仓库:

从远程库克隆工程:

2.分支管理

创建并切换分支:

查看所有分支:

指定分支合并到当前分支:

 删除分支:

3.多人协同 

四.总结


一.简介与环境搭建

专有名词索引:

  • Git:分布式版本控制系统
  •  版本库:又名仓库(Repository)。
    • 暂存区:stage(或者叫index),是在版本库里的一个暂存区域。
  • 工作区:工程文件夹(Working Directory)
  • 远程库:remote

 1.安装

详细安装步骤建议参考别的文章,这里不过多赘述。

附上几个下载网站:

n.注册账户

        安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。这步操作是针对本地Git客户端的配置。

git config --global user.name "你的用户名"  
git config --global user.email "你的邮箱地址"  

 用处如下:

  1. 提交信息:每次你进行提交(commit)时,Git都会使用这些信息来记录谁做了这次提交。这些信息将作为提交历史的一部分永久保存在版本库中。

  2. 标签信息:当你创建标签(tag)时,这些信息也会被包含在标签信息中。

  3. 补丁信息:如果你创建了一个补丁(patch),这些信息也会被包含在内

下句可查看是否配置成功,返回的命令最底部会有账户信息:

git config --list  

二.基本操作

        在进行操作前我们必须明白的是:Git管理是以文件夹为单位的,所有的操作都只对该文件夹生效。

 1.创建和提交

 可以任意创建一个文件夹,然后在此文件夹目录下右键打开Git Bash

之后键入

git init

 就在此工作区内创建完版本库了。

使用下面的命令可以将单个文件添加到暂存区:

git add readme.txt

 或者添加工作区内的全部文件或工程:

git add .

最后使用:

git commit -m "1.0"

提交暂存区内的所有文件到版本库,其中-m后面输入的是本次提交的说明。

2.版本回退

使用下列命令可以查看提交的每个版本:

git log
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
Author: xxx <xxx.com>
Date:   Fri May 18 21:06:15 2018 +0800

    3.0

commit e475afc93c209a690c39c13a46716e8fa000c366
Author: xxx <xxx.com>
Date:   Fri May 18 21:03:36 2018 +0800

    2.0

commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
Author: xxx <xxx.com>
Date:   Fri May 18 20:59:18 2018 +0800

    1.0

在后面返回的信息中你可以清晰的看到以往版本的版本号,作者,版本日期以及提交说明等。

键入以下命令即可回退到上个版本:

git reset --hard HEAD^

其中, 

  • 上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
  • --hard会回退到上个版本的已提交状态,而--soft会回退到上个版本的未提交状态,--mixed会回退到上个版本已添加但未提交的状态。

 但是如果我后悔回退到某个版本了,像更新回去的话,就必须知道这个版本的版本号,然后使用

git reset --hard 1094a

 来回溯到之后的某个版本。笔者这里版本号只输入了几位,实际上,这里版本号可以不用打全,只需要能唯一表示某个版本即可。

如果不巧的是你忘记了版本号,那你可以用

git reflog

去查询你在当前版本库里的所有命令,同时它会返回带有版本号的信息!

3.查看工作区状态

这里的操作很简单,键入以下命令后,我们可以看到当前工作区的所有文件状态,包括是否暂存,是否提交等等。

git status

4.撤销修改

git checkout -- readme.txt

即让某个文件返回到最近一次被提交或被暂存时的状态。

5.删除文件

首先手动删除工作区内部的文件,然后使用

git rm test.txt

删除版本库中的文件

或直接提交

git commit -m "remove test.txt"

就算彻底删除。

如果在版本库未删除,而工作区中误删了文件的话

git checkout -- test.txt

使用这个命令也可以恢复到版本库里的版本。

三.协同开发

1.远程仓库

配置公钥:

ssh-keygen -t rsa -C "[email protected]"

 双引号内部可以键入你的邮箱。执行此命令时一直回车保持默认即可。

出现下面的界面即为成功

接着打开ssh-agent(密钥管理器):

eval "$(ssh-agent -s)"

 或者

eval `ssh-agent`

 都可以。打开之后执行:

ssh-add ~/.ssh/id_rsa

即可将SSH密钥添加到 ssh-agent进行管理。

上述命令执行完后会在C盘下的用户->"你的用户名"->.ssh内部生成一个私钥和一个公钥(即.pub结尾的文件)。或者 通过这个命令也可以查看公钥:

cat ~/.ssh/id_rsa.pub

将公钥内部的内容复制到你的远程仓库的客户端内部,这里以Gitee为例,账号设置内有个SSH公钥,复制到此即可。

SSH是一种端对端的网络协议,我们在使用远程仓库时建立SSH连接可以提高安全性和便携性,感兴趣的读者可以自行搜索。

使用以下命令验证: 

ssh -T [email protected]

 若出现

即为成功。 

新建仓库:

新手的话可以先不初始化舱口,默认建立就好。


 以下方法适用于Gitee:

注意以下为gitee的推送方法,如今GitHub已经改变了规则,仍然使用下列方法极有可能不成功 !

添加远程仓库:
git remote add origin [email protected]:xxx/xxx.git

 后面的为你的仓库地址(也叫做SSH克隆地址)。

这里是把后面的仓库名字针对本地GIt设置为origin,如果要添加多个远程仓库的话,后面添加的仓库就不能叫这个名字了。

推送到远程仓库:
git push -u origin master

这里将本地主分支master提交到远程仓库origin的主分支master,-u是同时对它们进行关联,下次再提交时就不需要加-u了。

即,

先关联仓库

git push --set-upstream origin master

然后再推送 

git push origin master

 强制推送(覆盖远程仓库):

git push origin master -f
 从远程仓库拉取:
git pull origin master

 强制拉取(覆盖到本地):

git pull -f

 以下方法适用于GitHub

添加远程仓库:

在settings->Developer settings->Personal access tokens中任选一个进行个人令牌的创建,推荐Fine-grained tokens简易版,创建完成后复制此Token。

!!!注意:此Token只出现一次,退出界面后就不会再出现!!!

然后按照下列格式添加远程仓库:

// <your_token>:包括<>在内的全部字符替换成你的token
// <USERNAME>:包括<>在内的全部字符替换成你的username
// <REPO>:包括<>在内的全部字符替换成你要访问的仓库名称
git remote set-url origin  https://<your_token>@github.com/<USERNAME>/<REPO>.git
推送: 

之后照常推送即可:

git push origin main

 删除远程仓库:

 git remote rm origin

 origin是你想删除仓库的名字。

从远程库克隆工程:

git clone [email protected]:xxx/xxx.git

2.分支管理

创建并切换分支:

git checkout -b dev

相当于

git branch dev
git checkout dev

新版命令,创建并切换:

git switch -c dev

单独切换:

git switch master

查看所有分支:

git branch

指定分支合并到当前分支:

git merge dev

 该命令为Fast forward模式,进行合并,合并后删除分支会丢失信息。

git merge --no-ff -m "merge with no-ff" dev

--no-ff,保留合并的历史信息 

 删除分支:

git branch -d dev

3.多人协同 

一般来说远程库的默认名称为origin

git remote -v

 可以查看远程仓库的详细信息。

git push origin master
git push origin dev

 上面两句命令分别可以推送主支和分支对远程仓库进行推送。

如果你想要推送本地分支到远程仓库的不同分支,可以使用以下命令格式:

git push <远程仓库> <本地分支>:<远程分支>

例如:

git push origin dev:feature

如果没有指定远程分支,Git 会尝试将本地分支推送到远程仓库中同名的分支。如果远程仓库中没有同名的分支,Git 会自动创建一个新的分支。

协同开发时,如果克隆远程仓库到本地,在本地只能看到该工程的 master分支,如果要再dev分支上开发,则需要自己在本地创建。

git checkout -b dev origin/dev

如果团队在对dev分支进行修改后,你也想向这个分支提交你自己的修改,且你们的修改产生了冲突(对同一个文件进行修改了),则你必须先对远程的dev分支进行拉取后再进行你的修改。 

创建并关联dev分支: 

git branch --set-upstream-to=origin/dev dev

 然后进行拉取

git pull

最后手动解决冲突后就可以进行推送了。 

四.总结

        以上内容只是笔者的学习记录,而且只写了一些较为简单的操作,还有一些很复杂的操作笔者也没有弄清楚,所以就没有一一写出来,实际过程中可能还会出现各种各样的问题,但是对出现的错误进行搜索一般都能找到解决的帖子,希望大家能在开源的技术氛围中共同进步!


                                                                                                                      如有错误,感谢指正!

                                                                                                                                        2024.10.5

标签:origin,教程,git,仓库,最全,dev,Git,版本,远程
From: https://blog.csdn.net/2203_75993546/article/details/142713739

相关文章

  • 传奇霸业网页游戏单机版安装教程+GM后台+无需虚拟机
    今天给大家带来一款单机游戏的架设:传奇霸业网页游戏。另外:本人承接各种游戏架设(单机+联网)本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。如果你是小白也没问题,跟着教程走也是可以搭建成......
  • git_常用指令合集
    1.忽略已经提交至远程分支文件1.1忽略文件:Git工作区的根目录下创建一个特殊的 .gitignore 文件具体规则详见:https://github.com/github/gitignore1.2 删除远程分支文件格式:gitrm--cached 路径报错:fatal:notremoving'.svn'recursivelywithout-r加参数-r......
  • Vue组件开发基础教程
    首发于公众号[小白讲前端]欢迎关注1.环境搭建安装Node.js:确保你的机器上已安装了Node.js。安装VueCLI:打开命令行工具,运行npminstall-g@vue/cli来全局安装VueCLI。2.创建项目在命令行中执行:vuecreatemy-vue-appcdmy-vue-app这将创建一个新的Vue项......
  • 使用git命令推送代码
    想要使用git命令,需要打开控制台,操作系统的终端,或者其他命令行工具。1.检查当前状态gitstatus这个命令会列出所有被修改、新增或删除的文件,以及哪些文件已经被暂存2.添加文件到暂存区要添加当前目录中的所有文件,使用.代替,命令如下:gitadd.或者只添加特定的文件:gitadd......
  • 《牧场物语:再会矿石镇》dmxbici.dll丢失如何修复?全面修复教程
    当您遇到《牧场物语:再会矿石镇》中出现的“dmxbici.dll”丢失错误时,可以尝试以下几种方法来解决问题。请注意,在执行任何更改之前,请确保备份您的重要文件。重新安装游戏•步骤:1.卸载游戏:前往控制面板>程序>程序和功能,找到《牧场物语:再会矿石镇》,选择卸载。2.清理残留......
  • 《樱花校园模拟器》如何使用风灵月影修改器?十八项修改器风灵月影版全面教程
    《樱花校园模拟器》是一款基于《GTA》风格的游戏,但设定在一个日本高中的校园内。游戏允许玩家自由探索校园、完成任务等。关于“风灵月影修改器”,这是一个非官方的第三方工具,用于在游戏中实现一些原版不具备的功能或效果,比如无限生命值、快速移动等。使用教程如下:第一步:点击......
  • 《Fate:武士遗迹》风灵月影修改器使用教程:体验光影交织的夏日奇幻之旅
    《Fate:武士遗迹》是一款以《Fate》系列为背景的动作角色扮演游戏,玩家在游戏中可以体验到与系列作品中不同的故事线和角色。而“风灵月影”可能是指游戏中的某个特定模式或者是由玩家社区开发的一个修改器,用于增强或改变游戏体验。请注意,使用修改器可能会违反游戏的服务条款,导......
  • Git 提交规范
    Git提交规范​ Git提交消息应遵循一定的规范,以便于理解和维护。一种常用的规范是Angular规范,它要求提交消息包含三个部分:标题、主题和尾部。<type>(<scope>):<subject><BLANKLINE><body><BLANKLINE><footer>type:提交类型,比如:feat(新功能)、fix(修复)、docs(文档变......
  • Zotero 安装教程
    1.软件安装打开Zotero官网,点击左侧下载按钮。选择Custom选项:安装完后重启计算机,就可以启动并使用Zotero软件了。2.软件设置打开编辑下的高级选项,查看数据存储位置。如下图所示,数据默认存储在了C:\Users\故梦\Zotero里,将该文件夹拷贝出来,放到其他位置,我这里放到......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对社区防疫管理等问题,对社区防疫管理系统进行研究分析,然后开发设计出基于Django框架的社区防......