git 常用命令

最基本命令

# 初始化 git 仓库
git init
# 添加具体文件
git add <filename>
# 添加所有文件
git add .
# 撤回文件提交
git reset <filename>
# 添加提交消息
git commit -m <message>
# 查看提交日志
git log

git 文件状态

untracked(新建文件,或者提交后被删除)
staged(文件add之后,即暂存缓存区)
unmodified(文件commit之后,提交到本地仓库)
modified(文件被修改之后)

配置命令别名

在 .git 目录下,config 文件中配置

[alias]
ad = add .

查看日志并回退版本

git log
# 回退项目到某个提交前的状态
git reset 哈希值 --hard
# 再次查看日志,发现新的日志消失了
git log
# 此时如果想回到最新的状态,查看所有的操作记录
git reflog
# 找到想回退的 commit id,进行回退,或者直接进行 git pull
git reset <commit id>


git reset 模式

--hard:不保存所有变更
--soft:保留变更,并且变更内容处于 staged 状态
--mixed:保留变更,并且变更内容处于 Modified 状态(默认)

分支(branch)

# 创建并切换分支,新分支的 commit 记录会继承自原来的分支,切完分支之后,新分支的改动和原来分支不再有关系
# name 新分支的名字
# template 以哪个分支或者commit 为模板,如果不填,默认以当前分支为模板
git checkout -b <name> <template>
# 查看所有分支
git branch
# 修改分支名称
git branch -m oldBranchName newBranchName

merge 合并

# 合并分支变更,将需要合并的变更合并到当前分支
git merge <branchName>

远程仓库(remote)

# 查看远程仓库地址
git remote -v
# 修改设置远程仓库地址(前提是需要已经有远程仓库地址)
git remote set-url origin [url]
# 删除远程仓库绑定
git remote rm origin
# 设置远程仓库
git remote add origin [url]
# -set-upstream 设置上流分支
# origin 远程仓库
# 将远程仓库的 a 分支作为本地 a 分支的上流分支,会在远程仓库创建新分支(新分支,第一次提交需要设置)
git push --set-upstream origin a

git fetch

# 此时只会展示本地分支,不会显示 a 分支
git branch
# 但是可以切换到 a 分支,此时的 a 分支是本地的,只不过模板来自远程仓库,相当于 git checkout -b a origin a
git checkout a

# 创建分支,以远程仓库的 a 分支未模板
git checkout -b b origin a

# 等同于先 fetch 在 merge
git pull

git中pull和fetch的区别

一、远端跟踪分支不同

1、git fetch:git fetch能够直接更改远端跟踪分支。

2、git pull:git pull无法直接对远程跟踪分支操作,我们必须先切回本地分支然后创建一个新的commit提交。

二、拉取不同

1、git fetch:git fetch会将数据拉取到本地仓库,它并不会自动合并或修改当前的工作。

2、git pull:git pull是从远程获取最新版本并 merge 到本地,会自动合并或修改当前的工作。

三、commitID不同

1、git fetch:使用 git fetch 更新代码,本地的库中 master 的 commitID 不变,还是等于 1。

2、git pull:使用 git pull 更新代码,本地的库中 master 的 commitID 发生改变,变成了 2。

rebase

rebase 就是重新排列 base,base 指的就是 commit

1、git rebase master
2、解决冲突,并 git add .
3、git rebase --continue
重复 23 步骤,直至没有需要 reabse 的 commit 节点
git log 查看 commit,可以看到分支的 log 的顺序已经和 master 分支排序整合了
git
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
247
粉丝
19
喜欢
219
收藏
63
排名:724
访问:9993
私信
所有博文
社区赞助商