Git常用命令

本地库

初始化仓库

git init

查看工作区、暂存区状态

git status

将工作区的“新建/修改”添加到暂存区

git add [filename]

将暂存区的内容提交到本地库

git commit -m "commit message" [filename]

查看历史记录

git log
# 只显示一行信息
git log --pretty=short
git log --pretty=oneline
# 只显示指定目录、文件的日志
# 只要在 git log命令后加上目录名,便会只显示该目录下的日志。
# 如果加的是文件名,就会只显示与该文件相关的日志。
git log README.md
# 显示文件的改动
git log -p README.md
# 显示移动到当前版本需要几步
git reflog

前进后退操作

# 基于索引值操作[推荐]
git reset --hard[目标时间点的哈希值]

# 使用^符号:只能后退
# 一个^表示后退一步,n 个表示后退 n 步
git reset --hard HEAD^

# 使用~符号:只能后退
# 后退 n 步
git reset --hard HEAD~n

删除文件并找回

# 前提:删除前,文件存在时的状态提交到了本地库。
# 删除操作已经提交到本地库:指针位置指向历史记录
# 删除操作尚未提交到本地库:指针位置使用 HEAD
git reset --hard [指针位置]

查看更改前后的差别

# git diff命令可以查看工作树、暂存区、最新提交之间的差别。
git diff
# 查看工作树和最新提交的差别
git diff HEAD
# 将工作区中的文件和暂存区进行比较
git diff [文件名]
# 将工作区中的文件和本地库历史记录比较
git diff [本地库中历史版本] [文件名]

Git分支

在进行多个并行作业时,我们会用到分支。

不同分支中,可以同时进行完全不同的作业。等该分支的作业完成之后再与 master 分支合并。

分支的好处

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

创建分支

git branch [分支名]

查看分支

git branch -v

切换分支

git checkout [分支名]

合并分支

# 第一步:切换到接受修改的分支(被合并,增加新内容)上
git checkout [被合并分支名]
# 第二步:执行 merge 命令
git merge [有新内容分支名]

合并冲突的解决办法

  1. 编辑文件,删除特殊符号
  2. 把文件修改到满意的程度,保存退出
  3. git add [文件名]
  4. git commit -m "日志信息"
    注意:此时 commit 一定不能带具体文件名

远程仓库

创建远程库地址别名

git remote add [别名] [远程地址]
# 查看当前所有远程地址别名
git remote -v

推送到远程库

git push [别名] [分支名]

克隆

# 完整的把远程库下载到本地
# 创建 origin 远程地址别名
# 初始化本地库
git origin [远程地址]

拉取

# pull=fetch+merge
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]

解决冲突

  • 如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。
  • 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。

跨团队协作

  1. Fork
  2. 本地修改,然后推送到远程
  3. Pull Request
  4. 对话
  5. 审核代码
  6. 合并代码
  7. 将远程库修改拉取到本地
posted @ 2022-02-25 00:14  hllog  阅读(42)  评论(0)    收藏  举报