当前位置: 首页 > 文档资料 > 网聚宝开发指南 >

Git 下载

优质
小牛编辑
129浏览
2023-12-01

Git 下载

进入 钉盘 - 网聚宝开发指南-资源 下找到与你电脑相对应的 Git 安装文件即可。

Git 安装配置(PC)

下载好exe 安装包文件后,打开进行安装,单击下一步。选择 安装路径(请路径中不要携带中文),单击下一步

勾选 On the Desktop,方便之后在桌面进入Git 控制台进行配置。 勾选中间一个配置项,表示可以使用 CMD 命令行 调用Git 命令。 接下来 一直点击下一步,直到开始安装。 安装完成后,到 CMD 命令行界面 输入 git --version 查看是否配置成功。

Git 安装配置(MacOS)

如果你之前有安装过 Xcode,则无需安装,直接在 终端中 输入 git --version 即可查看到Git 版本信息。 如果之前未安装过 Xcode,则需要去 钉盘 - 网聚宝开发指南-资源-MacOS 下载Git的安装包,直接打开安装,安装完成后,直接打开(重启)终端,输入 git --version 即可查看到Git 版本信息。

Git 版本控制操作

我们这里以 阿里云Code 作为代码仓库为例,对代码仓库进行操作。进入aliyun code 平台后 我们点击 +新项目 作为我们的测试项目。 填入项目名,点击创建项目。 这时我们的项目就新建成功了,因为是新项目,所以仓库中都是空的。

生成 SSH 公钥并上传

Git 平台 使用SSH 公钥进行身份验证,所以我们需要本地生成公钥好之后上传到Aliyun Code 平台上,只要成员在项目中并且具有相应权限则可以对代码库进行操作。

  • 使用以上命令,Mac 在终端中,PC 在Git Bash命令行界面,生成公钥。 ssh-keygen -t rsa -C "1059172423@qq.com" Mac 生成公钥

  • 将刚刚生成的公钥拷贝至剪切板 Windows: clip < ~/.ssh/id_rsa.pub Mac: pbcopy < ~/.ssh/id_rsa.pub

  • 上传至Aliyun Code平台 在 页面右上角 点击 个人资料设置 ,选择 SSH 密钥,点击 增加密钥,粘贴刚刚拷贝的 密钥。填写好名称之后 增加密钥上传密钥 密钥上传成功 到这里看到这个页面,说明密钥已经上传成功了。

    设置用户名和邮箱信息

    git config --global user.name "bajie" git config --global user.email "1059172423@qq.com" 在 终端或GitBash命令行中 输入以上代码 表示设置 git 身份信息。

克隆文件/代码

首先,我们先通过网页添加 README 文件,然后将Aliyun Code 的版本库 克隆下来。 git clone git@code.aliyun.com:bajie/HelloGit.git 在终端或命令行 中选择存储路径,然后 运行以上代码。在对应的目录下,你就可以看到克隆下来的文件了。 克隆版本库

上传文件/代码

将克隆下来README 文件修改过后,使用以下命令,可以看到当前版本库的状态。 git status 版本库当前状态 然后使用以下命令,进行提交并推送到远程库。 git add . git commit -m "修改代码" -a git push origin master 提交文件并推送 这时我们去Aliyun Code 网页上查看项目中的README 文件,已经发生了修改,并有提交记录。 Aliyun Code 上查看提交记录

拉取代码

我们在Aliyun Code 网页上对 README.md 文件 进行修改,把Hello Aliyun Code!这一行删除。 Aliyun Code 上对README 文件进行修改 使用以下命令,将修改拉取到本地。 git pull origin master 拉取代码成功 这时我们在回到本地目录,会发现本地文件中的README.md 文件已经没有Hello Aliyun Code! 这一行了。 请注意,在日常开发过程中,在push 代码前,务必进行 pull 拉取操作,将本地版本与远程版本保持一致后,再进行操作。

常用命令总结

OK,到目前为止,你已经可以使用Git 对项目进行操作了,以下是 Git 常用命令总结。

1. 本地操作
git init #使文件夹中初始化成一个Git仓库
git add <file>[.][--all] #将修改的文件添加到 Git的暂存区(stage), .或者 --all 代表全部文件
git commit -m "commit summary" #将暂存区的文件 提交到 本地仓库,跟上提交说明
git status #查看现在工作空间的状态
git diff <file> #查看文件的修改
git reset --hard <commit_id> #将暂存区的文件回退到某一版本
     #commit_id可以是提交版本号也可以用HEAD表示
     #HEAD^表示上一版本,HEAD^^表示上上版以此类推,HEAD~5表示往前推5个版本
git log #查看提交历史,以便确定要回退到哪个版本
git reflog #查看命令历史,如果回退后要重返未来,以便确定要回到未来的哪个版本
git checkout -- <file> #直接丢弃工作区的修改,回滚成 暂存区版本
git reset HEAD <file> #将已经add到暂存区的版本 回滚
git reset --hard <commit_id> HEAD #如果已经提交了相应文件到版本库,撤销本次提交
git rm <file> #删除某个文件
2. 与远程库操作
git remote add origin git@server-name:path/repo-name.git #关联一个远程库
git push -u origin master #将本地master 分支推送到远程服务器,-u 表示与远程服务器master分支关联
git clone <link> #克隆远程仓库到本地
git remote -v #显示详细的远程库信息
git pull <remote> <branch> #从远程库拉取某一分支
git push <remote> <branch> #向某一远程库推送某分支
git checkout -b <branch> <remote>/<branch> #将远程库的分支创建到本地,建议两地分支同名
git branch --set-upstream <branch> origin/<branch> #将远程库分支和本地分支链接
3. 分支操作
git branch #查看当前分支状态
git branch <name> #创建分支
git checkout <name> #切换到分支
git checkout -b <name> #表示创建并切换到此分支
git merge <name> #合并分支到当前分支
git merge --no-ff -m "merge summary" <name> #使用no fast forward 模式合并分支
git branch -d <name> #删除分支
git branch -D <name> #强制删除分支,用于已有修改但未提交更改的分支
git log --graph  --pretty=oneline --abbrev-commit #查看分支合并图
4. 工作现场的操作
git stash #保存工作现场
git stash list #查看已经保存的工作现场的列表
git stash apply #恢复最近保存的工作现场,但是回复过后不删除
git stash drop #删除最近保存的工作现场
git stash pop #弹出最近保存的的工作现场,并且删除
git stash apply stash@{0} #恢复指定的工作现场
5. 为版本进行标签操作
git tag #显示当前所有tag
git tag <name> #用于新建一个标签,默认为HEAD版本,也可以指定commit_id
git tag -a <tagname> -m "tag info" #新建tag,并指定 tag 的信息
git tag push <remote> <tagname> #向远程库推送版本信息,也可用 -tags替代,代表所有tag
git tag -d <tagname> #删除本地标签
git tag push <remote> :refs/tags/<tagname> #删除远程标签
6. 为 git 配置缩写信息
git config --global alias.co checkout #配置后,co 等同于 checkout,--global 代表操作范围为所有仓库
git config --global alias.unstage 'reset HEAD' #也可配置 多个关键词
 #配置过后,这些信息将保存在 .git/config文件中

日常开发过程中,分支管理策略和推送建议

日常开发时,可能要用到几个分支,这几个分支分别都具有不同的功能属性,首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;除了这些我们还可以根据需要生成bug分支,feature分支等等:

  • master 主分支,发布正式版本时,使用此版本发布,此版本应当是最正式的
  • master分支是主分支,因此要时刻与远程同步;
  • dev 开发分支,从 master 生成,发布时 dev 与 master 合并。
  • dev 开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步,推送上去的代码请时刻保证可以运行。
  • feature 功能性分支,开发某种特定功能时从 dev 生成出来,开发完毕后与 dev 合并 他们的推送状态也不尽相同:
  • feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
  • bug 分支,有bug出现时,可以从 master 生成一个分支,fix 后再与 master 和 dev 合并
  • bug 分支只用于在本地修复bug,就没必要推到远程了,除非小伙伴需要和你一起修复bug

另外,强烈建议 在进行代码提交时,使用IDEA自带 Git提交工具(IDEA 安装请 前往IDE 的安装与配置下的章节),进行提交。 因为在项目中需要在提交前进行代码格式化,以及后期需要SonarLint 在提交前作出验证)

  1. 点击 Commit Changes 图标,打开提交窗口。
  2. 选择需要提交的文件,填写修改信息,选择右侧单选框中的 Reformat Code 以及 Perform SonarLint analysis(需要 根据 代码静态检查中的安装 SonarLint 之后出现)。
  3. 根据需要点击 Commit(本地提交)或 Commit and Push(提交并推送到远端仓库)