一、全局配置
git config --global
配置全局设置,比如用户名和邮箱:git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
二、基本操作
-
git init
/git clone
git init
: 初始化一个新的Git仓库。git clone
: 克隆一个远程仓库到本地。
git clone <repository_url>
-
git add
添加文件到暂存区:git add <filename>
-
git commit -m "..."
提交暂存区内容到本地仓库,并附加提交信息:git commit -m "Commit message"
三、查看信息
-
git status
查看当前工作区状态,显示哪些文件被修改、未跟踪等。 -
git log
查看提交日志历史。 -
git reflog
查看引用日志,显示分支的历史更新记录。 -
git diff
比较工作区和暂存区之间的差异。
四、分支管理
-
git branch
查看、创建或删除分支:git branch # 查看分支 git branch <name> # 创建分支 git branch -d <name> # 删除分支
-
git checkout
切换分支或恢复文件:git checkout <branch_name>
-
git merge
合并指定分支到当前分支:git merge <branch_name>
五、版本回退
-
git reset --hard <版本号>
回退到指定版本号,并且工作区的内容也被同步更改。 -
git reset --hard HEAD^
回退到上一个版本。 -
git checkout 文件名
丢弃文件的工作区修改,将其恢复到最近一次提交的状态。
六、远程操作
-
git remote show
查看远程仓库信息。 -
git pull
从远程仓库拉取代码并合并到本地分支。 -
git push
将本地分支的更新推送到远程仓库。 -
git fetch
获取远程仓库的更新,但不会与本地代码合并。
具体案例
背景:
假设你在一个团队项目中,负责一个远程仓库(GitHub)的开发工作。你的任务是实现一个新的功能,需要创建分支、提交代码并将代码推送到远程仓库。
具体操作流程及命令:
1. 克隆远程仓库到本地(git clone
)
先从团队的远程仓库拉取代码到本地:
git clone https://github.com/team/project.git
此命令会将远程仓库的代码下载到你的电脑。
2. 查看当前状态(git status
)
进入项目文件夹后,查看当前仓库状态:
cd project
git status
如果一切正常,git status
会显示没有未跟踪文件,工作区是干净的。
3. 创建一个新的功能分支(git branch
和 git checkout
)
创建一个名为 feature-login
的分支并切换到它:
git branch feature-login
git checkout feature-login
或者直接用以下简写命令:
git checkout -b feature-login
此时,你就在 feature-login
分支上,可以专注于开发登录功能。
4. 修改代码并添加到暂存区(git add
和 git status
)
假设你修改了文件 login.js
,需要提交这些更改:
git status
会看到类似这样的输出:
Modified: login.js
将文件添加到暂存区:
git add login.js
5. 提交代码到本地仓库(git commit
)
为你的更改写一条清晰的提交信息并提交:
git commit -m "Add login functionality"
6. 查看提交历史(git log
)
查看你的提交是否成功,以及分支的提交记录:
git log
7. 将本地代码推送到远程仓库(git push
)
将你的分支推送到远程仓库:
git push origin feature-login
现在,你的分支就上传到了远程仓库,其他团队成员也可以看到你的工作。
8. 合并分支(git merge
)
功能开发完成后,需要将 feature-login
分支合并回主分支。首先切换回主分支:
git checkout main
合并分支:
git merge feature-login
9. 删除本地分支(可选)(git branch -d
)
合并完成后,可以删除本地的 feature-login
分支(保留远程分支备份):
git branch -d feature-login
10. 更新本地代码与远程同步(git pull
和 git fetch
)
如果其他团队成员也提交了代码,你需要同步更新你的本地代码:
git pull origin main
如果你只想获取远程更新但不立即合并:
git fetch
总结:
通过以上命令完成了:
- 克隆远程仓库;
- 创建新分支开发功能;
- 提交代码并推送到远程;
- 合并分支更新主分支。