Git 作为大家熟悉的,深受欢迎的版本控制工具,在多人协作开发的项目中,起到了很好的作用。
使用 Git,首先要先下载安装,可以从 Git 官网直接下载安装程序,然后按默认选项安装即可。
安装完成后在桌面界面点击鼠标右键,会出现如下界面:
然后点击 Git Bash Here,会弹出一个类似命令行窗口的,就说明 Gti 安装成功了。
安装完成后,还需要进一步做一下环境配置,在命令行输入(如果没有 Github 账号,要先注册一个):
git config –global user.name “username” // “username” 账户名
git config –global user.email “username@email.com” // “username@email.com” 注册账号时用的邮箱
以上命令执行结束后,可以使用:
git config –global –list 查看配置用户名和邮箱
一、创建代码库
git init 在当前目录初始化新建一个 git 代码库
git clone <url> 克隆下载远程仓库的代码
二、修改和提交
git status 查看工作区代码状态(是否修改)
git diff 对比查看暂存区和工作区的变更内容
git add . 添加所有改动过的文件到暂存区
git add <filename> 添加指定文件到暂存区
git rm <filename> 删除文件
git commit -m “commit message” 暂存区文件提交到本地仓库区,命令执行成功后会提示 2 files changed, 7 insertions(+), 5 deletions(-) 2 个文件被改动,插入了 7 行内容,删除了 5 行内容
git commit <filename1> <filename2>… -m “commit message” 提交暂存区的指定文件到仓库区
git stash 将所有未提交的修改 (工作区和暂存区) 暂存在堆栈中
三、查看信息
git config –list 显示当前的 git 配置
git config –global –list 查看提交时的用户信息
git log 显示从最近到最远的提交日志,以便确定要回退到哪个版本
git log – p <filename> 查看指定文件的提交历史
git reflog 查看命令历史,以便确定要回到将来的哪个版本
git stash list 查看当前 stash 中暂存内容
git stash pop 将当前 stash 中的内容恢复到当前工作区,并从堆栈中删除
四、撤销
git reset –hard HEAD 撤销工作目录中所有未提交的文件的修改内容
git reset –hard HEAD^ 将当前版本回退到上一个版本
git reset –hard HEAD^^ 回退到上两个版本
git reset –hard <commit_id> 回退 / 向前进到指定 commit 码的版本(commit_id 通过 git log 查看)
git checkout HEAD <filename> 撤销指定的未提交文件的修改内容
git checkout — <filename> 还没有使用 git add 添加到暂存区时,撤销 filename 文件在工作区的全部修改
git reset HEAD <filename> + git checkout — <filename> 撤销暂存区的修改重新放回工作区,然后再丢弃工作区的修改
五、分支
git branch 显示所有本地分支,带有 * 号表示当前分支
git branch -r 显示所有远程分支
git branch <new branch> 创建一个新分支
git branch -d <branch> 删除本地分支
git switch <branch> 切换分支
git switch -c <branch> 创建并切换分支
git checkout <branch> 切换到指定分支,同 git checkout — <filename> 容易混淆,建议使用 git switch
git checkout -b <branch> 新建一个分支,并切换到该分支,等价于
git branch <new branch> 创建分支 + git checkout <branch> 切换分支
git push origin <branch> 将当前分支推送到远程仓库,如果分支不存在则会被创建
git push origin HEAD –force 强推到远程
git push origin –delete <branch> 删除远程分支
六、合并
git merge <branch> 合并指定分支到当前分支,比如 login 分支合并到 master 分支:git checkout master 切换到 master 分支 + git merge login 合并。如果合并时存在冲突,需要手工修改。
七、远程操作
git remote -v 查看所有远程版本库信息
git fetch 从远程版本库拉取最新代码
git pull 拉取最新代码并直接合并
git push 上传本地代码到云端仓储并直接合并