简介
Git 是一种分布式版本控制系统,其使用机制基于以下关键概念和步骤:
- 仓库(Repository): Git 仓库是存储项目文件、历史记录和元数据的地方。仓库可以位于本地计算机上,也可以位于远程服务器上。每个仓库都包含完整的项目历史记录。
- 提交(Commit): 提交是 Git 中的基本操作单元。每次提交都包含一组文件的状态变化,以及一个关联的提交消息,描述了此次提交的内容和目的。
- 分支(Branch): 分支是用于并行开发的重要机制。每个分支代表项目的一个独立线索,可以独立地进行修改和提交。分支的创建和合并使得多人协作变得更加容易。
- 主分支(Main Branch): 通常情况下,项目会有一个默认的主分支,例如 "main" 或 "master"。主分支是项目的主要线索,包含稳定的代码和历史记录。
- 克隆(Clone): 克隆是从远程仓库创建本地副本的过程。通过克隆,您可以在自己的计算机上进行开发,而不会影响原始远程仓库。
- 远程(Remote): 远程是指托管在云端或其他服务器上的 Git 仓库。您可以将您的本地更改推送到远程仓库,也可以从远程仓库拉取更新。
- 推送(Push)和拉取(Pull): 推送是将本地更改上传到远程仓库的操作,而拉取是从远程仓库获取更新并将其应用到本地的操作。
- 合并(Merge)和重整(Rebase): 合并是将一个分支的更改合并到另一个分支的操作。重整是在合并之前将一系列提交应用到目标分支,以保持提交历史的线性。
- 冲突解决(Conflict Resolution): 当多个分支对同一文件进行了不同的修改并尝试合并时,可能会产生冲突。解决冲突需要手动编辑文件以解决冲突。
- 标签(Tag): 标签是用于标记特定版本的机制。标签可以用来标识版本发布、重要的里程碑等。
- 储藏(Stash): 储藏允许您暂时将未提交的更改保存在一边,以便在切换分支或执行其他操作时恢复工作区的干净状态。
Git 的分布式特性使得每个开发者都拥有完整的项目历史记录,从而使协作和并行开发变得更加灵活和高效。通过使用分支、提交、合并等机制,开发团队可以更好地管理和控制项目的版本、变更和历史。
2023/4/21
如何解决访问问题
设置代理解决github被墙 - 知乎 (zhihu.com)
将文章中的端口改成本地使用的7890
# 使用http代理(不推荐)
git config --global http.https://github.com.proxy http://127.0.0.1:7890
# 取消代理
# 当你不需要使用代理时,可以取消之前设置的代理。
git config --global --unset http.proxy
git config --global --unset https.proxy
2023/4/19
blog.51cto.com/u_15358766/…一看就懂
附一条删除分支的命令 git branch -d xxx
基本操作
1.git clone // 到本地 2.git checkout -b xxx 切换至新分支xxx (相当于复制了remote的仓库到本地的xxx分支上 3.修改或者添加本地代码(部署在硬盘的源文件上) 4.git diff 查看自己对代码做出的改变 5.git add 上传更新后的代码至暂存区 6.git commit 可以将暂存区里更新后的代码更新到本地git
7.git push origin xxx 将本地的xxxgit分支上传至github上的git
- git push -f origin xxx 记得写 " -f "
如果在写自己的代码过程中发现远端GitHub上代码出现改变
1.git checkout main 切换回main分支 2.git pull origin master(main) 将远端修改过的代码再更新到本地,main还是master自己选择 3.git checkout xxx 回到xxx分支 4.git rebase main 我在xxx分支上,先把main移过来,然后根据我的commit来修改成新的内容 (中途可能会出现,rebase conflict -----》手动选择保留哪段代码)
git rebase命令 - Git教程 (yiibai.com)
先修改,改完add一下,再git rebase --continue
5.git push -f origin xxx 把rebase后并且更新过的代码再push到远端github上 (-f ---》强行)
6.原项目主人采用pull request 中的 squash and merge 合并所有不同的commit
远端完成更新后 1.git branch -d xxx 删除本地的git分支 2.git pull origin master 再把远端的最新代码拉至本地
另外
-
git branch 产看所有分支,也能看到当前分支
-
如何新建分支
(7条消息) Git本地分支连接远程分支咖啡店小二的博客-CSDN博客git连接远程分支
新建连接到远程仓库新分支后,需要git pull一下获取所有内容,不然还是最原始版本
-
git log --pretty=oneline
本地文件如何上传到github
-
github新建仓库
-
git remote add ...
-
接下来便可以git add commit push了
-
需要用token作为密码(github现在已经不能用用户名密码登录了)
如何生成token
-
登录 GitHub 账号:
-
访问个人设置: 登录后,点击页面右上角的头像,从下拉菜单中选择 "Settings"(设置)。
-
进入 Developer settings(开发者设置): 在左侧导航菜单中,点击 "Developer settings"(开发者设置)。
-
选择 Personal access tokens(个人访问令牌): 在开发者设置页面,点击 "Personal access tokens"(个人访问令牌)。
-
生成新令牌: 在 "Personal access tokens" 页面,点击 "Generate new token"(生成新令牌)按钮。
-
配置令牌权限: 现在您将进入一个页面,需要配置您的访问令牌权限。GitHub 提供了一系列的权限选项,以允许特定的操作。根据您的需求,选择所需的权限。您可以选择的权限范围包括仓库、用户、组织等。
-
生成令牌: 选择完权限后,滚动到页面底部,然后点击 "Generate token"(生成令牌)按钮。
-
查看和复制令牌: 生成令牌后,您将看到一个包含生成的令牌的页面。请注意,这个令牌只会在此时显示一次。请务必复制并保存此令牌。这是唯一的机会。
-
使用令牌: 复制生成的令牌,并在需要进行 GitHub API 调用或身份验证的地方使用。请注意,令牌类似于密码,所以请不要分享或将其存储在不安全的地方。
-
管理令牌: 如果认为令牌不再需要或出于安全原因需要废弃令牌,您可以在 GitHub 的 "Personal access tokens" 页面中撤销该令牌的访问权限。
(8条消息) remote: Support for password authentication was removed on August 13, 2021_IT博客技术分享的博客-CSDN博客
2023/3/1
解决使用gitclone.com后无法更新的问题