Git常用命令的整理


Git介绍

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Torvalds开始着手开发Git是为了作为一种过渡方案来替代BitKeeper,后者之前一直是Linux内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper的许可证并不适合开放源码社区的工作,因此Torvalds决定着手研究许可证更为灵活的版本控制系统。尽管最初Git的开发是为了辅助Linux内核开发的过程,但是越来越多的软件项目中也开始采用Git来管理项目开发。

Git图

Git的常用命令整理

我使用Git已经两年多了,最开始仅仅使用来管理自己的项目,后来的团队开发中才学到Git中更多的功能,无论是Windows、Mac、还是Linux,各个平台下的Git也都使用过,对Git的理解也越来越深。工作中更多用到的是可视化操作的客户端软件,这里推荐使用SourceTree

SourceTree拥有一个精美简洁的界面和完整的Git功能,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用,但是SourceTree只支持Windows和OSX两个平台。

自己的笔记本装的是Linux,供平时自己开发使用,在Linux下Git的使用当然还是要回归到命令行上来,Git的神奇就在于命令行比客户端反而更好用。以下是自己平时用到或将会用到的一些常用命令的整理吧,其中参考了许多其他博客中的整理思路。

1、Git初始化的相关配置

Git自带一个git config的工具来帮助设置控制Git外观和行为的配置变量。~/.gitconfig~/.config/git/config文件:只针对当前用户。可以传递--global选项让Git读写此文件。

# 列举所有配置
git config -l

# 配置使用git仓库的人员的名称
git config --global user.name "Your Name"

# 配置使用git仓库的人员的email
git config --global user.email johndoe@example.com

# 配置一些常用操作的别名
git config --global alias.co checkout  
git config --global alias.ci commit  
git config --global alias.st status  
git config --global alias.br branch  

2、Git基本操作的相关命令

# 初始化一个版本仓库
git init

# 显示command的help
git help <command>  
# 显示某次提交的内容
git show

# 将工作文件修改提交到本地暂存区
git add <file>  
# 将所有修改过的工作文件提交暂存区
git add .

# 从版本库中删除文件
git rm <file>  
# 从版本库中删除文件,但不删除文件
git rm <file> --cached

# 将git add, git rm和git commit等操作都合并在一起做,并做提交说明
git commit -a -m '这是这次提交的简要说明'

# 恢复最后一次提交的状态
git revert HEAD  
# 恢复某次提交的状态,恢复动作本身也创建了一次提交对象
git revert <$id>  

3、远程仓库相关命令

# 查看远程仓库
git remote -v

# 查看远程服务器仓库状态
git remote show origin

# 检出仓库
git clone git://github.com/jquery/jquery.git

# 添加远程仓库
git remote add [name] [url]

# 修改远程仓库
git remote set-url --push [name] [newUrl]

# 删除远程仓库
git remote rm [name]

# 拉取远程仓库
git pull [remoteName] [localBranchName]

# 推送远程仓库
git push [remoteName] [localBranchName]  

如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:

# 提交本地test分支作为远程的master分支
git push origin test:master

# 提交本地test分支作为远程的test分支
git push origin test:test  

4、分支操作相关命令

# 查看本地分支
git branch

# 查看远程分支
git branch -r

# 创建本地分支(注意新分支创建后不会自动切换为当前分支)
git branch [name]

# 切换分支
git checkout [name]

# 创建新分支并立即切换到新分支
git checkout -b [name]

# 强制删除一个分支
git branch -D [name]

# 合并分支(将名称为[name]的分支与当前分支合并)
git merge [name]

# 查看各个分支最后提交信息
git br -v

# 查看已经被合并到当前分支的分支
git br --merged

# 查看尚未被合并到当前分支的分支
git br --no-merged  

5、提交记录相关命令

# 列出所有历史记录(最近的排在最上方,按Page Up、Page Down、↓、↑来控制显示;按q退出历史记录列表)
git log

# 查看某文件每次的提交记录
git log <file>

# 显示前n条提交记录
git log -n

# 显示提交日志及相关变动文件
git log --stat

# 此命令同上,不过显示更全了
git log -p -n  

6、暂存相关命令

# 列所有stash
git stash list

# 暂存
git stash

# 恢复暂存的内容
git stash apply

# 删除暂存区
git stash drop  

7、前后差异相关命令

# 显示所有未添加至index的变更
git diff

# 比较当前文件和暂存区文件差异
git diff <file>

# 比较两次提交之间的差异
git diff <$id1> <$id2>

# 比较暂存区和版本库差异
git diff --staged  

Git直观的常用命令图表

下面是收集的一些常用命令的一张直观易懂的图表,供参考:

Git常用命令

Git学习的一些参考链接如下:

Pro Git

Git Magic



转载请注明:闪烁之狐 » Git常用命令的整理

分享到:
主题颜色面板