首页 / 资讯中心 / 文章详情

Git与Node.js安装配置及常用命令指南

Git与Node.js安装配置及常用命令指南 ★ FEATURED ARTICLE
1. Git与Node.js安装及配置指南作为现代开发者的两大核心工具Git和Node.js几乎成为每个程序员电脑里的标配。记得我第一次接触这两个工具时被各种配置和命令搞得晕头转向今天我就把多年积累的安装配置经验和常用命令整理出来帮你少走弯路。Git作为分布式版本控制系统能有效管理代码变更历史Node.js则是构建JavaScript应用的运行时环境。两者配合使用可以完成从代码管理到项目构建的完整开发流程。无论你是前端开发者、后端工程师还是全栈程序员掌握它们都是必备技能。2. Git安装与基础配置2.1 Windows系统安装Git在Windows上安装Git最方便的方式是使用官方提供的Git for Windows安装包访问Git官网下载页面选择适合你系统的版本通常64位运行安装程序基本保持默认选项即可但有几个关键点需要注意选择Use Git from Git Bash only选项避免与其他命令行工具冲突选择Checkout as-is, commit Unix-style line endings保证跨平台兼容性勾选Enable file system caching提升性能安装完成后在开始菜单中找到Git Bash这就是我们的主要操作终端。提示安装时建议勾选Add a Git Bash profile to Windows Terminal选项这样可以在更现代的Windows Terminal中使用Git Bash2.2 macOS系统安装GitmacOS用户有两种主要安装方式通过Homebrew安装推荐brew install git直接下载安装包访问Git官网下载macOS版本打开.dmg文件并运行安装程序安装完成后打开终端(Terminal)即可使用git命令。2.3 Linux系统安装Git大多数Linux发行版都自带Git如果没有可以通过包管理器安装Ubuntu/Debian:sudo apt update sudo apt install gitCentOS/RHEL:sudo yum install gitArch Linux:sudo pacman -S git2.4 基础配置安装完成后首先需要配置用户信息git config --global user.name 你的名字 git config --global user.email 你的邮箱这些信息会出现在你每次提交的记录中。建议使用与GitHub/GitLab等平台相同的邮箱这样你的提交会自动关联到你的账号。其他有用的全局配置# 设置默认编辑器为VSCode git config --global core.editor code --wait # 设置换行符自动转换 git config --global core.autocrlf input # macOS/Linux git config --global core.autocrlf true # Windows # 启用彩色输出 git config --global color.ui auto3. Node.js安装与管理3.1 安装Node.jsNode.js的安装方式有多种推荐使用版本管理工具nvm(Node Version Manager)这样可以方便地切换不同版本。3.1.1 使用nvm安装推荐安装nvmmacOS/Linux:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash安装完成后重启终端或运行source ~/.bashrc # 或 ~/.zshrc, ~/.profile等Windows: 下载nvm-windows安装包https://github.com/coreybutler/nvm-windows/releases安装Node.jsnvm install --lts # 安装最新LTS版本 nvm use --lts # 使用该版本3.1.2 直接安装Node.js如果不使用nvm可以直接从Node.js官网下载安装包访问Node.js官网下载LTS(长期支持)版本运行安装程序保持默认选项即可安装完成后在终端中运行以下命令验证安装node -v npm -v3.2 npm与yarn配置Node.js自带npm包管理器但yarn也是常用的替代品安装yarnnpm install -g yarn配置国内镜像源加速下载可选# npm配置淘宝镜像 npm config set registry https://registry.npmmirror.com # yarn配置淘宝镜像 yarn config set registry https://registry.npmmirror.com4. Git常用命令详解4.1 仓库操作# 初始化新仓库 git init # 克隆现有仓库 git clone 仓库URL # 查看仓库状态 git status # 添加远程仓库 git remote add origin 远程仓库URL4.2 代码提交# 添加文件到暂存区 git add 文件名 # 添加特定文件 git add . # 添加所有更改 # 提交更改 git commit -m 提交信息 # 修改最后一次提交 git commit --amend # 会打开编辑器修改提交信息4.3 分支管理# 创建新分支 git branch 分支名 # 切换分支 git checkout 分支名 # 或(较新版本) git switch 分支名 # 创建并切换分支 git checkout -b 分支名 # 或 git switch -c 分支名 # 合并分支 git merge 要合并的分支名 # 删除分支 git branch -d 分支名 # 安全删除 git branch -D 分支名 # 强制删除4.4 远程操作# 推送本地分支到远程 git push -u origin 分支名 # 第一次推送需要-u参数 git push # 之后可以简写 # 拉取远程更新 git pull # 获取远程分支 git fetch git checkout -b 本地分支名 origin/远程分支名4.5 撤销操作# 撤销工作区修改 git checkout -- 文件名 # 撤销暂存区修改(取消add) git reset HEAD 文件名 # 回退到某个提交 git reset --hard commit哈希5. Node.js常用命令与工具5.1 包管理# 初始化项目 npm init # 交互式创建package.json npm init -y # 使用默认值快速创建 # 安装依赖 npm install 包名 # 安装并添加到dependencies npm install 包名 --save-dev # 添加到devDependencies npm install # 安装所有依赖 # 全局安装 npm install -g 包名 # 卸载包 npm uninstall 包名5.2 脚本执行# 运行项目 node 文件名.js # 调试模式 node inspect 文件名.js # 运行package.json中的脚本 npm run 脚本名5.3 实用工具# 检查npm包版本 npm view 包名 version # 更新npm包 npm update 包名 # 检查过时的包 npm outdated # 安全审计 npm audit6. 常见问题与解决方案6.1 Git常见问题问题1fatal: not a git repository (or any of the parent directories): .git解决方案确保当前目录在Git仓库中如果确实需要初始化运行git init问题2git push被拒绝可能原因远程有本地没有的提交分支保护设置解决方案git pull --rebase # 先拉取远程更改 git push # 再尝试推送问题3合并冲突解决方法打开冲突文件找到,,标记手动解决冲突保留需要的代码删除冲突标记运行git add 文件名标记为已解决继续合并git commit6.2 Node.js常见问题问题1node: command not found解决方案检查Node.js是否正确安装检查PATH环境变量是否包含Node.js安装路径如果使用nvm确保已使用nvm use选择了版本问题2EACCES权限错误解决方案避免使用sudo安装全局包按照官方文档修复npm权限https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally或者使用nvm管理Node.js版本问题3版本兼容性问题解决方案使用.nvmrc文件指定项目Node.js版本在项目根目录创建.nvmrc文件内容为版本号如16.14.0运行nvm use自动切换7. 高级技巧与最佳实践7.1 Git高级用法交互式变基(rebase)git rebase -i HEAD~3 # 修改最近3次提交储藏(stash)临时更改git stash # 储藏当前更改 git stash list # 查看储藏列表 git stash pop # 恢复最近储藏的更改二分查找定位问题提交git bisect start git bisect bad # 标记当前版本有问题 git bisect good 已知好的提交 # 标记已知好的版本 # Git会自动切换到中间版本你测试后标记good或bad git bisect reset # 结束后重置7.2 Node.js项目优化使用npm scripts自动化任务{ scripts: { start: node app.js, dev: nodemon app.js, test: jest, lint: eslint ., prepare: husky install } }锁定依赖版本使用package-lock.json或yarn.lock定期更新依赖npm outdatednpm update环境变量管理使用.env文件配合dotenv包不要将敏感信息提交到Git7.3 跨平台开发建议统一换行符在项目中添加.gitattributes文件* textauto eollfGit配置git config --global core.autocrlf input # macOS/Linux git config --global core.autocrlf true # Windows统一开发环境使用Docker容器或使用VS Code的Dev Containers扩展使用跨平台脚本避免直接使用rm,cp等Unix命令使用跨平台工具如rimraf,cpy-cli等8. 工具链推荐8.1 Git相关工具GUI客户端GitHub DesktopSourcetreeGitKrakenVS Code扩展GitLensGit Graph命令行增强lazygit (终端UI)delta (更好的diff显示)8.2 Node.js开发工具调试工具VS Code内置调试器ndb (Google开发的调试器)进程管理pm2 (生产环境进程管理)nodemon (开发时自动重启)测试框架JestMocha Chai代码质量ESLintPrettierhusky lint-staged (Git钩子)9. 实际工作流示例9.1 功能开发流程从主分支创建新分支git checkout -b feature/new-feature开发过程中定期提交git add . git commit -m 实现登录表单基础布局同步主分支最新更改git fetch origin git rebase origin/main推送分支到远程git push -u origin feature/new-feature创建Pull Request/Merge Request进行代码审查审查通过后合并到主分支9.2 Node.js项目初始化流程创建项目目录mkdir my-project cd my-project初始化Git仓库git init echo node_modules .gitignore初始化Node.js项目npm init -y安装必要依赖npm install express npm install --save-dev typescript types/node配置TypeScript如使用npx tsc --init创建基础文件结构并开始开发10. 性能优化与维护10.1 Git仓库维护清理历史大文件# 使用BFG工具清理历史大文件 java -jar bfg.jar --strip-blobs-bigger-than 100M my-repo.git压缩仓库git gc --aggressive --prunenow分割大仓库考虑使用git-submodule或git-subtree将大仓库拆分为多个小仓库10.2 Node.js项目优化依赖优化npm prune # 移除未使用的依赖 npm dedupe # 减少重复依赖使用npm ci代替npm install在CI/CD环境中使用npm ci # 严格根据lockfile安装更快速可靠Node.js性能分析node --inspect app.js # 使用Chrome DevTools分析 # 或 node --prof app.js # 生成性能分析文件11. 安全最佳实践11.1 Git安全不要提交敏感信息使用.gitignore排除配置文件如果已提交使用git filter-branch或BFG工具从历史中移除使用SSH密钥认证ssh-keygen -t ed25519 -C your_emailexample.com eval $(ssh-agent -s) ssh-add ~/.ssh/id_ed25519定期审计仓库权限11.2 Node.js安全定期检查漏洞npm audit锁定依赖版本使用package-lock.json或yarn.lock考虑使用npm shrinkwrap进一步锁定环境隔离区分dependencies和devDependencies生产环境使用npm install --production使用安全工具npm auditsnyknodejsscan12. 学习资源推荐12.1 Git深入学习官方文档https://git-scm.com/doc交互式学习https://learngitbranching.js.org/书籍《Pro Git》免费在线版12.2 Node.js深入学习官方文档https://nodejs.org/en/docs/Node.js最佳实践https://github.com/goldbergyoni/nodebestpractices书籍《Node.js设计模式》12.3 综合教程GitHub学习实验室https://lab.github.com/Node.js入门教程https://nodejs.dev/learn全栈开发教程结合Git和Node.jshttps://www.theodinproject.com/13. 个人经验分享在实际工作中我发现以下几个习惯特别有价值Git提交规范化使用约定式提交(Conventional Commits)示例feat: 添加用户登录功能 fix: 修复登录页面样式问题 docs: 更新API文档Node.js版本管理每个项目都添加.nvmrc文件在package.json中指定engines字段engines: { node: 16.0.0 17.0.0 }脚本自动化将常用操作封装成npm scripts使用pre-和post-钩子如scripts: { precommit: lint-staged, pretest: npm run lint, postinstall: husky install }代码审查文化即使是个人项目也习惯创建PR/MR使用GitHub/GitLab的代码审查功能配置必要的CI/CD检查最后一个小技巧在Git Bash中可以创建~/.bash_profile文件添加常用别名如alias gsgit status alias glgit log --oneline --graph --decorate alias gcogit checkout alias gpgit pull alias gpsgit push这些工具和命令是现代开发工作流的基础掌握它们能显著提高开发效率。刚开始可能会觉得命令太多记不住但随着实践会越来越熟练。建议先从最常用的命令开始逐步扩展你的技能树。
阅读完成 · 觉得有帮助?
咨询建站