Git 常用命令

安装&配置

install

安装这里就不再多讲了,网上有许多教程,可以参考:

config

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

注意 git config 命令的 –global 参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和 Email 地址。

获取&创建项目

init

1

git init

初始化一个仓库,可以在任意目录中执行,表示对该目录使用 git 进行版本控制

clone

1

git clone [url]

基本的快照

add

1

git add <path>

可以添加一个文件如 git add README.md 或一个目录 git add config 或使用通配符添加所有文件 git add * — 添加到暂存区。

status

1

git status

查看你的文件在暂存区和工作目录的状态,默认是较为详细的显示,并提示你可以用何种命令完成你接下来可能要做的事情。

1

git status -s

较为简单的输出当前的状态,如:

$ git status -s

M README.md

D hello.rb

?? world.java

你可以看到,在简短输出中,有两栏。第一栏是暂存区的,第二栏则是工作目录的。这里表示:

  • README.md 在暂存区中的状态是 modify
  • hello.rd 在工作目录中的状态是 delete
  • world.java 还未添加到版本控制。

diff

git diff            # 工作目录和暂存区
git diff --cached   # 暂存区和本地仓库
git diff HEAD 	    # 工作目录和本地仓库
git diff --stat     # 显示信息摘要

执行 git diff 来查看执行 git status 的结果的详细信息 —— 一行一行地显示这些文件是如何被修改或写入缓存的。

commit

git commit -m "commit message"## 将暂存区中的内容提交到本地仓库

git commit -am "commit message"## 免去了 git add 进行 commit,需要 tracked 状态

执行 git commit 记录缓存区的快照到本地仓库。

reset

git reset HEAD -- file # 将本地仓库的当前版本恢复到暂存区

git reset HEAD~1 -- file # 将本地仓库的上个版本恢复到暂存区

git reset HEAD -- file 也可以理解为放弃暂存区中的修改

rm, mv

git rm           # 将文件从暂存区和工作目录删除,-f 为强制删除
git rm --cached <path> # 将文件从暂存区中删除
git mv <old_path> <new_path>

git rm 用来删除文件、目录。git mv 命令用于移动或重命名一个文件、目录。

分支和合并

branch

git branch                 # 列出所有分支
git branch (branchname)    # 创建新分支。
git branch -d (branchname) # 删除分支

checkout

git checkout (branch) # 切换分支

git checkout -b (branchname) # 创建新分支,并立即切换到它

merge

git merge <branchname> ## 将分支合并到当前分支

git merge --no-ff <branchname> ## 不适用 Fast-Forword 方式合并

使用 git merge 将另一个分支并入当前的分支中去。 关于 --no-ff 可参考 Git 分支管理策略

log & reflog

git log# 当前分支的 log

git log --oneline # 简要 log

git log --graph # 查看各种分支之间的日志

git reflog # 查看所有分支的所有操作记录(包括 reset)

显示一个分支中提交的更改记录

tag

git tag 		       # 查看所有标签
git tag -a <tagname> -m "blablabla..."  # 创建一个标签,并附上信息
git tag -d <tagname>    		       # 删除本地标签

远程仓库

remote

git remote -v # 查看已关联的所有的远程仓库

git remote add [alias] [url] # 添加一个新的远程仓库

git remote rm [alias] # 删除远程仓库的管理

fetch, pull

# 将 origin 仓库的 master 分支与本地的 next 分支进行合并
git pull origin master:next

# 将 origin 仓库的 next 分支与本地的 master 分支进行合并
git pull origin next:master

push

# 推到 origin 仓库的 master 分支
git push origin master
# 将本地仓库的 master 与远程仓库进行关联,以后 push 就不用指定分支了。
git push -u origin master

拓展

git 分支合并策略

在 Git 中有三种分支合并方式:

  • git merge fast-forword: 当条件允许时,git 直接把 HEAD 指针指向合并分支的头(默认)
  • git merge --no-ff:不适用 fast-forward 方式合并,保留分支的 commit 历史
  • git merge --squash:使用 squash 方式合并,将多次分支的 commit 历史记录压缩为一次

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏carven

git分支管理

git用了挺久,但是对分支管理还是不熟悉。用这篇博客来记录一下常用的分支管理命令 1.首先绑定远程仓库

12700
来自专栏阮一峰的网络日志

常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 ? 下面是我整理的常...

30250
来自专栏腾讯DevOps

Git-基本命令大全

Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库

31460
来自专栏日常工作总结

Git常用命令汇总

Git配置 git config --global user.name "xx" git config --global user.email "xx@gma...

18140
来自专栏Java后端技术

如何高效撤销Git管理的文件在各种状态下的更改

  企业中我们一般采用分布式版本管理工具git来进行版本管理,在团队协作的过程中,我们难免会遇到误操作,需要撤销更改的情况,那么我们怎么高效的进行撤销修改呢?...

8820
来自专栏乐享123

Git Cheat 2

11820
来自专栏IT综合技术分享

在IntelliJ IDEA上面进行使用svn进行版本管理

2.1K40
来自专栏Java后端技术栈

常用 Git 命令清单这一篇就够啦!

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

9020
来自专栏mwangblog

git文件状态,暂存与提交

14640
来自专栏人人都是极客

Git与Repo快速入门

版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。 一、原始版本控制 最原始...

345100

扫码关注云+社区

领取腾讯云代金券