一、全局配置提交账户
全局配置适用于所有Git仓库:
设置用户名和邮箱地址:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
本地配置提交账户
如果只想为特定的Git仓库设置用户名和电子邮件地址:
1.进入仓库目录:
cd path/to/your/repository
2.设置用户名和邮箱地址:
git config user.name "Your Name"
git config user.email "you@example.com"
检查配置
您可以使用以下命令来检查配置是否正确:
1.检查全局配置:
git config --global --list
2.检查本地配置:
git config --list
二、提交代码
1.初始化Git仓库(如果尚未初始化):
git init
2.添加文件到暂存区:
git add <file1> <file2> ...
添加所有文件:
git add .
添加所有文件:
git add <file1> <file2> ...
3.提交文件到本地仓库:
git commit -m "提交信息"
4.将提交推送到远程仓库(如果已配置远程仓库):
首次推送:
git push -u origin main
后续推送:
git push
三、常见操作说明:
查看当前仓库状态:
git status
查看提交日志:
git log
创建新分支:
git branch new-branch
切换到新分支:
git checkout new-branch
合并分支(切换到要合并到的分支,比如main
):
git checkout main
git merge new-branch
克隆远程仓库:
git clone https://github.com/yourusername/yourrepository.git
四、检查仓库更新
1.拉取远程仓库的最新更改:
git pull
2.获取远程仓库的更新但不合并:
git fetch
3.合并远程分支的更改到本地分支:
如果已经使用了git fetch
命令,可以使用以下命令将远程更新合并到当前分支:
git merge origin/main
如果直接使用git pull
命令,它会自动执行fetch
和merge
操作。
4.检查当前分支与远程分支的差异:
git diff HEAD origin/main
五、拉取某个版本的代码
1.查看提交日志:
git log
这将显示提交历史,包含提交的哈希值(SHA)、作者、日期和提交信息。
2.检出指定的提交:
通过提交哈希值检出代码:
git checkout <commit-hash>
使用这种方式后,Git会进入一个"分离的HEAD状态"(detached HEAD state),查看和使用该版本的代码,但不能直接在这个状态下进行新的提交。
3.返回到最新提交:
返回到当前分支的最新提交:
git checkout main
这里假设主要分支是main
,如果是其他分支,替换成相应的分支名即可。
示例流程
1.查看提交日志:
git log
输出示例:
commit 3a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b
Author: Your Name <you@example.com>
Date: Tue Jun 1 12:34:56 2024 -0400
Fix bug in feature X
commit 4b5c6d7e8f9a0b1c2d3e4f5g6h7i8j9k0l1m2n3o
Author: Another Developer <another@example.com>
Date: Mon May 31 11:23:45 2024 -0400
Add feature Y
2.检出指定的提交:
git checkout 3a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b
3.确认已检出指定提交:
git status
您会看到提示类似:
HEAD detached at 3a1b2c3
4.查看/使用该版本的代码:
现在,您可以查看或运行此版本的代码。
5.返回到最新提交:
git checkout main
这会让您返回到main
分支的最新提交。
六、创建分支
1.创建新分支:
git branch new-branch-name
2.切换到新分支:
git checkout new-branch-name
或者,可以使用一个命令同时创建并切换到新分支:
git checkout -b new-branch-name
示例完整流程:
1.查看当前分支:
git branch
2.创建并切换到新分支:
git checkout -b feature-xyz
3.查看分支切换情况:
git branch
4.进行一些更改并提交:
# 编辑文件
git add .
git commit -m "Add new feature XYZ"
5.推送新分支到远程仓库:
git push -u origin feature-xyz
七、合并分支的步骤
1.切换到目标分支:
例如,将更改合并到main
分支:
git checkout main
2.合并源分支:
这是包含想要合并的更改的分支。例如,如果源分支是feature-xyz
:
git merge feature-xyz
处理合并冲突
有时,合并过程中可能会发生冲突。以下是解决冲突的步骤: 1.Git 会提示冲突文件: 需要手动编辑这些文件以解决冲突。冲突区域会标记为:
<<<<<<< HEAD
当前分支中的内容
=======
要合并的分支中的内容
>>>>>>> feature-xyz
2.编辑文件以解决冲突:
保留需要的更改,删除冲突标记。保存文件。
3.添加解决冲突的文件:
git add <conflict-file>
4.完成合并
git commit
如果冲突已解决且文件已添加到暂存区,Git 会创建合并提交。
查看分支合并情况
git log --graph --oneline --all
八、删除分支
1.删除已合并的本地分支
如果分支的更改已经合并到其他分支(例如main
),可以安全地删除该分支:
git branch -d branch-name
2.强制删除未合并的本地分支:
如果分支的更改尚未合并,需要使用-D
选项强制删除:
git branch -D branch-name
删除远程分支
1.推送删除指令到远程仓库:
要删除远程分支,您需要向远程仓库发送删除指令:
git push origin --delete branch-name