无论你是独立开发者、开源项目贡献者,还是团队协作的软件工程师,Git都是必备的工具。
Git是目前世界上最流行的分布式版本控制系统,由Linux之父Linus Torvalds在2005年创建,用于管理Linux内核源码的开发。它的核心功能是追踪文件的每一次修改记录,支持多人协作开发,让你随时可以回到任意历史版本。
Git和同领域的其他版本控制工具有什么不同?来看看:
Git是免费开源的软件,目前Git持续更新,保持着稳定的发布节奏,最新版本是 2.54.0。
Git下载
Git安装包下载地址:
https://pan.quark.cn/s/7cc7b50c99a7
Git安装
1、Windows安装
1)双击下载的Git-xxx-64-bit.exe安装包:
2)安装路径建议改到D盘(比如 D:\Git),节省 C 盘空间。
3) 选择组件,默认勾选项不动:
4) 一直往后走,中途全部保持默认即可。
5) 选择 SSH 执行文件。选项 1 是使用 Git 自带的 OpenSSH,选项 2 是使用系统上的外部 OpenSSH,保持默认项即可:
6) 选择HTTPS后端传输,普通用户只是用 Git 来访问 Github、GitLab 等网站,选择前者就行:
7) 其他过程全部保持默认即可,直到安装完成:
2、macOS安装
Git官网提供了三种安装方式:
方式一:用Homebrew安装,在终端运行:
$ brew install git
如果还没装Homebrew,先去brew.sh安装好再跑这条命令,后续升级也方便。
方式二:用MacPorts安装,如果尚未安装 MacPorts,请先安装,然后执行:
$ sudo port install git
方式三:安装Xcode 命令行工具 (Xcode Command Line Tools)。Apple 随 Xcode 命令行工具 提供 Git 的二进制包。可以通过以下命令安装:
$ xcode-select --install
3、Linux安装
在 Linux 上安装 Git 最简单的方法是使用您发行版的包管理器。
Debian/Ubuntu:
获取 Debian/Ubuntu 发行版中最新的稳定版本:
# apt-get install git
对于 Ubuntu,此 PPA 提供了最新的稳定上游 Git 版本:
# add-apt-repository ppa:git-core/ppa
# apt update; apt install git
Fedora:
# yum install git (Fedora 21 及更早版本)
# dnf install git (Fedora 22 及更高版本)
Gentoo:
# emerge --ask --verbose dev-vcs/git
Arch Linux:
# pacman -S git
openSUSE:
# zypper install git
Mageia:
# urpmi git
Nix/NixOS:
# nix-env -i git
FreeBSD:
# pkg install git
Solaris 9/10/11 (OpenCSW):
# pkgutil -i git
Solaris 11 Express, OpenIndiana:
# pkg install developer/versioning/git
OpenBSD:
# pkg_add git
Alpine:
$ apk add git装完后在终端输入git --version查看版本验证安装是否成功。
Git基础使用
1) 配置基本信息
安装后先配置基本信息,打开终端或Git Bash,输入以下命令:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"使用了 --global 选项,表明该命令只需要运行一次,即可永久生效。这一步必须做,因为每次提交都会记录作者信息。
2) 创建仓库
在项目文件夹中右键打开Git Bash,输入git init,这个文件夹就变成Git仓库了。如果要克隆别人的项目,用git clone 仓库地址。
3) 日常操作流程
修改文件后,先git add .把修改添加到暂存区,然后git commit -m "描述信息"创建一个版本记录。连接到远程仓库(比如GitHub)后,用git push把本地提交推送到远程,用git pull拉取远程的最新代码。
4) 查看状态
git status可以随时查看仓库当前的状态,哪些文件改了、哪些还没提交,一目了然。这个是使用频率最高的命令。
常见使用问题
1)提交代码时发现中文文件名显示为乱码
这通常是Git的编码设置问题。在Git Bash里执行"git config --global core.quotepath false",就可以正常显示中文文件名了。另外建议将所有源文件都保存为UTF-8编码,避免跨平台时出现乱码。
2)提交时忘记添加某些文件,但不想多出一个额外的提交记录
可以用"git commit --amend"命令来修改上一次提交。先用git add把遗漏的文件添加到暂存区,再执行git commit --amend,Git会打开编辑器让你修改提交说明,保存后刚才的提交就包含了所有改动。注意这个操作会改写提交历史,如果已经推送到远程仓库就不要用了。
3)合并分支时出现冲突
是团队协作中经常遇到的情况。Git会在冲突文件中用<<<<<<<、=======、>>>>>>>标记出冲突区域,手动编辑文件保留需要的代码,然后git add标记为已解决,最后git commit完成合并。如果不确定怎么处理,可以用"git merge --abort"取消本次合并,回到合并前的状态。
常用技巧
.gitignore文件是每个项目都应该配置的。在这个文件中列出不需要纳入版本控制的目录和文件,比如node_modules、.idea、target、*.log等,Git会自动忽略这些文件。可以通过"git status"查看是否有不该被追踪的文件出现在列表中,逐步完善.gitignore规则。
使用"git stash"可以临时保存当前工作区的改动,让你的工作目录恢复到干净的状态。比如正在开发功能A,突然需要切到其他分支修复一个紧急Bug,但功能A的代码还没写完不适合提交,这时候执行"git stash"暂存当前改动,切换到其他分支修完Bug,回来后再"git stash pop"恢复之前的改动继续开发。
git log加上丰富的参数可以定制化查看提交历史。"git log --graph --oneline --all"以图形方式显示所有分支的提交历史,可以直观看到分支合并的路线图。"git log --author='用户名'"筛选特定作者的提交,"git log --since='2 weeks ago'"查看最近两周的提交记录。
总结
Git是现代软件开发不可或缺的版本控制工具,其分布式架构、轻量分支和高效的协作模型让它成为行业标配。
从下载安装到配置基础环境,整个过程非常成熟,Windows用户通过Git for Windows可以享受到完整的Git功能和友好的操作界面。掌握Git的基本操作,比如 init、add、commit、branch、merge、push、pull,就足够应付日常开发需求了。
随着使用深入,Git的高级功能会慢慢展现出它的强大之处。如果你还没有开始用Git,现在就是最好的时机。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。