一、配置
安装完成后,需要配置Git的用户名和邮箱,以便在提交记录时记录操作者的信息。
配置全局用户名:git config --global user.name “Your Name”
配置全局邮箱:git config --global user.email “Your Email”
查看配置信息:git config --global --list
二、初始化仓库
可以通过两种方式创建Git仓库:
在本地直接创建一个仓库:
创建一个新的文件夹,并切换到该文件夹。
执行git init命令,将该文件夹初始化为Git仓库。
从远程服务器克隆一个已存在的Git仓库:
使用git clone [url]命令,从指定的URL中克隆一个仓库。
三、工作区域和文件状态
Git的工作区域分为:工作区、暂存区(也称为索引区)和本地仓库。
文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed)。
四、添加和提交文件
使用git status命令查看仓库的当前状态。
使用git add [filename]命令将文件添加到暂存区。
使用git commit -m "说明信息"命令将暂存区的文件提交到本地仓库。
五、查看文件差异
使用git diff命令查看文件差异:
不加参数时,默认比较工作区和暂存区之间的差异。
git diff [filename]:查看具体文件工作区与暂存区的差异。
git diff --cached:查看暂存区与上一次提交的差异。
git diff [commit_id1] [commit_id2]:查看两个版本之间的差异。
六、删除文件
使用git rm [filename]命令将文件从工作区和暂存区删除。
使用git rm --cached [filename]命令将暂存区文件删除,但保留工作目录中的文件。
七、查看日志
使用git log [option]命令查看历史提交信息:
-p:显示提交的补丁(具体更改内容)。
–oneline:以简洁的一行格式显示提交信息。
–graph:以图形化方式显示分支和合并历史。
–decorate:显示分支和标签指向的提交。
其他选项如–author、–since、–until、–grep、–no-merges、–stat、–abbrev-commit、–pretty等,可以根据需要选择使用。
八、版本回退
使用git reset [–hard | --soft] HEAD命令回退到某个版本:
–hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交(完全回退到某个版本)。
–soft:回退到某个版本,但保留当前文件的修改内容。
九、撤销操作
使用git checkout – [filename]命令丢弃工作区修改。
使用git reset HEAD [filename]命令撤销使用git add后暂存的文件。
十、远程仓库操作
使用git remote命令管理远程仓库:
git remote:列出远程仓库。
git remote add [remote_name] [remote_url]:将本地仓库与远程仓库关联起来。
git remote rename [old_name] [new_name]:将已经配置的远程仓库重命名。
git remote remove [remote_name]:删除当前仓库指定的远程仓库,与远程仓库断开关联。
git remote show [remote_name]:显示远程仓库的详细信息。
使用git fetch命令获取远程仓库代码,但这并不会主动合并到本地仓库代码。
使用git push命令将本地更新推送到远程仓库。
使用git pull命令拉取远程更新到本地。
十一、分支操作
使用git branch命令查看或创建分支:
git branch:查看当前所有分支。
git branch [branchname]:创建一个新的分支。
使用git checkout [branchname]或git switch [branchname]命令切换分支。
使用git merge [branchname]命令合并分支。
十二、贮藏功能
使用git stash命令将当前分支的修改储藏起来。
使用git stash apply命令恢复之前存储的内容。
使用git stash list命令查看存储记录。
使用git stash pop命令恢复并删除最近一次存储的记录。
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}