1.本地代码上传到`github` 在本地的项目工程目录下,按住`shift`,鼠标右键,`git bash here`,然后依次执行命令: * git init # 工作空间创建.git文件夹(默认隐藏了该文件夹) * git add . # 添加到暂存区 * git commit -m "注释" * git remote add origin http://xxxxxxxxx.git # 本地仓库和远程github关联 * git pull --rebase origin main # 远程有readme.md,拉一下 * git push -u origin main # 代码合并 2. 将本地`git init`的时候默认分支修改为main * git --version 查看版本 * git config --global init.defaultBranch main git在2.28.0上,重新设置git默认分支为main
1. 本地版本控制
记录每次文件更新,对每个版本做一个快照,或是记录补丁文件,适合个人用,如
RCS
2. 集中版本控制
所有版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
单一服务器— 单点故障问题
用户本地只有以前同步的版本
SVN
、CVS
、VSS
3. 分布式版本控制
每个用户都拥有全部的代码——安全隐患
每个用户本地全都同步有所有版本信息仓库——占用本地存储空间
首先配置用户名和邮箱 全局变量path git config --global usernane *** git config --global email ***
查看当**前登录用户**(global)config git config --global --list 或 `C:\Users\username\.gitconfig` 查看**系统**config git config --system --list 或 `Git\etc\gitconfig`
add
– 缓存区
commit
– 本地仓库
push
– 远程仓库
git init # 在当前目录新建一个Git代码库 git add . # . 添加全部文件到暂存区 git commit -m "commit message" # 提交暂存区中的内容到本地仓库 -m 提交消息 git clone [url] # 克隆远程仓库 `git clone https://github.com/xia-mu/xia-mu.github.io.git`
查看文件操作 git status [filename] # 指定文件 git status # 所有文件
主目录下建立
.gitignore
文件
本机绑定SSH公钥 ssh-keygen ssh-keygen -t rsa `[-t dsa | ecdsa | ed25519 | rsa | rsa1] 加密算法` 默认存至`C:/Users/username/.ssh/`
多分支并行执行 — 多个版本 — 代码不会冲突
需合并分支
(调用时),会引起冲突 — 修改冲突文件,重新提交主分支用来发布新版本,一般在新建的分支上工作
# 列出所有本地分支 $ git branch # 列出所有远程分支 $ git branch -r # 列出所有本地分支和远程分支 $ git branch -a # 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] # 新建一个分支,并切换到该分支 $ git checkout -b [branch] # 新建一个分支,指向指定commit $ git branch [branch] [commit] # 新建一个分支,与指定的远程分支建立追踪关系 $ git branch --track [branch] [remote-branch] # 切换到指定分支,并更新工作区 $ git checkout [branch-name] # 切换到上一个分支 $ git checkout - # 建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [branch] [remote-branch] # 合并指定分支到当前分支 $ git merge [branch] # 选择一个commit,合并进当前分支 $ git cherry-pick [commit] # 删除本地分支 $ git branch -d [branch-name] $ git branch -D [branch-name] # 强制删除 # 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch]