基础操作
1、创建ssh key,邮箱可以随便输入,不会做校验
代码语言:shell复制ssh-keygen -t rsa -C "你的邮箱地址"
2、配置Git账号信息,你所有的Git操作记录,都会显示为你设置的昵称。
代码语言:shell复制# 不添加`--global`表示在当前目录下的Git仓库设置,添加表示全局设置。
git config --global user.name "你的Git提交昵称"
# 邮箱可以随便输入,不会做校验,但推荐填写你在代码托管平台对应的账号邮箱,
# 这样能够统计你的提交记录
git config --global user.email "你的Git提交邮箱"
仓库管理
1、初始化Git仓库
代码语言:shell复制git init
2、往仓库中添加文件
代码语言:shell复制# 添加所有文件
git add .
# 添加指定文件到
git add 文件
3、设置提交信息
代码语言:shll复制git commit -m "提交信息"
4、本地仓库设置一个远程仓库地址
代码语言:shell复制git remote add 远程仓库名(一般直接是origin) 远程仓库地址
5、本地仓库追加一个远程仓库地址
代码语言:shell复制# 该方式在执行git push时会自动同步所有远程仓库
git remote set-url --add 远程仓库名 (一般直接是origin) 远程仓库地址
# 该方式在执行git push时,需要指定具体的远程仓库名
git remote add 远程仓库名(不能重复) 远程仓库地址
6、克隆仓库
代码语言:shell复制git clone 远程仓库地址
记录操作
1、查看提交记录
代码语言:shell复制git log
2、查看git文件状态
代码语言:shell复制git status
3、图形化显示提交记录
代码语言:shell复制# 图形化显示当前分支的提交日志
git log --graph --oneline
# 图形化显示当前分支的提交日志及每次提交的变更内容
git log --graph --patch
# 图形化显示所有分支的提交日志
git log --graph --oneline --all
# 图形化显示所有分支的提交日志及每次提交的变更内容
git log --graph --patch --all
4、显示提交信息
代码语言:shell复制git show 提交hash值
git show 分支名
git show tag名
5、移除当前修改
代码语言:shell复制# 抛弃指定文件的修改
git checkout -- [file1] [file2]
# 2.23版本开始,推荐使用如下命令
git restore [file1] [file2]
# 抛弃所有文件的修改
git reset --hard
# 2.23版本开始,推荐使用如下命令
git restore .
6、暂存区操作
代码语言:shell复制# 将当前修改添加到暂存区
git stash
# 查看暂存区列表
git stash list
# 恢复暂存区最近的记录
git stash apply
# 恢复暂存区指定记录
git stash apply stash@{n}
# 暂存区申请使用时,出现冲突,将冲突解决后的信息同步到暂存区
git stash apply --index
# 删除指定暂存区
git stash drop stash@{0}
# 恢复并删除最近一次暂存区
git stash pop
文件操作
1、重名名文件
代码语言:shell复制git mv 原文件名 新文件名
2、移动文件
代码语言:shell复制git mv 原文件路径 新文件路径
3、移动目录
代码语言:shell复制git mv 原目录 新目录
git mv 可以添加参数--dry-run表示预览效果,而不是执行命令。推荐在使用Git来操作文件或者目录,而不是使用shell命令,这样可以保证在Git中的完整记录,也方便追溯、回退。
版本操作
1、查看标签
代码语言:shell复制# 查看所有标签
git tag
# 指定查找模式
git tag -l "匹配模式"
2、查看标签信息
代码语言:shell复制git show 标签名
3、创建标签
代码语言:shell复制# 创建轻量级标签
git tag 标签名
# 创建带有记录信息标签
git tag -a 标签名 -m "标签信息"
4、删除标签
代码语言:shell复制git tag -d 标签名
5、推送标签
代码语言:shell复制# 推送所有标签
git push origin --tags
# 推送所有标签
git push origin 标签名
分支操作
1、查看本地分支
代码语言:shell复制git branch
2、查看所有分支
代码语言:shell复制git branch -a
会显示本地和远程分支。
3、查看远程分支
代码语言:shell复制git branch -r
4、查看某个分支的提交历史
代码语言:shell复制git log [branch-name]
5、创建新分支
代码语言:shell复制git branch [new-branch-name]
仅仅是基于当前分支创建新分支,不会切换到新分支。
6、创建并切换到新分支
代码语言:shell复制git checkout -b [new-branch-name]
7、切换到现有分支
代码语言:shell复制git checkout [branch-name]
8、删除本地分支
代码语言:shell复制git branch -d [branch-name]
这将删除本地分支,只有在该分支已经完全合并的情况下才能成功。
9、强制删除本地分支
代码语言:shell复制git branch -D [branch-name]
强制删除指定的本地分支,不管是否已经合并。
10、重命名分支
代码语言:shell复制git branch -m [old-branch-name] [new-branch-name]
11、设置跟踪分支、更新远程分支的本地引用
代码语言:shell复制git branch --set-upstream-to [remote-branch]
12、查看分支的上游(tracking)分支
代码语言:shell复制git branch -vv
13、合并分支
代码语言:shell复制git merge [branch-name]
14、解决合并冲突
代码语言:shell复制# 第一步需要手动解决冲突
# 第一步将解决冲突后的文件添加到缓存区
git add .
15、删除远程分支
代码语言:shell复制git push 远程仓库名 --delete [branch-name]
16、拉取远程分支并删除本地分支
代码语言:shell复制git fetch 远程仓库名 and git branch -r
| grep -v '->' | grep [branch-name] | cut -c 3- | xargs -n 1 git branch -d
17、比较两个分支的差异
代码语言:shell复制git diff [branch1] [branch2]
18、列出某个分支的提交记录
代码语言:shell复制git log [branch-name]
19、重置当前分支到特定 commit
代码语言:shell复制git reset --hard [commit-hash]
保留当前更改
20、重置当前分支到特定 commit
代码语言:shell复制git reset --soft [commit-hash]
不保留当前更改
21、推送本地分支到远程仓库
代码语言:shell复制git push [remote-name] [branch-name]
22、推送本地分支并设置为远程跟踪分支
代码语言:shell复制git push [remote-name] [branch-name]:[remote-branch-name]
23、拉取远程分支并自动创建本地分支
代码语言:shell复制git pull [remote-name] [branch-name]
24、拉取远程分支并合并到当前分支
代码语言:shell复制git pull [remote-name] [branch-name]
25、查看分支合并图
代码语言:shell复制git log --graph --decorate --oneline --all
我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!