前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git常见操作命令大全,程序员必备技能

Git常见操作命令大全,程序员必备技能

原创
作者头像
Mandy的名字被占用了
发布2024-06-15 11:24:03
780
发布2024-06-15 11:24:03
举报
文章被收录于专栏:软件工具软件工具

基础操作

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腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础操作
  • 仓库管理
  • 记录操作
  • 文件操作
  • 版本操作
  • 分支操作
相关产品与服务
代码托管
CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档