Git 基础命令

641 查看

用户设置


Git 应该是如今最常用的版本控制工具了,对于初学者来说,客户端可能会更友好一些,但是熟悉 Git 的命令行会极大地提高我们的开发效率。

设置用户信息

git config --global user.name 'Tony Wu'
git config --global user.email 'mail@tao.im'

查看用户设置

git config --list
git config user.name
git config user.email

基本流程


Git 最基本的流程就是提交代码,这又可以分成两种情况:一、直接从远程下载代码改动并提交;二、把本地已有的代码提交到远程仓库。

方式一:从远程仓库上克隆代码修改并提交

git clone <some-git-url>
cd <some-folder>
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

方式二:把本地代码提交到远程仓库

cd <some-folder>
git init
git remote add origin <some-git-url>
git add .
git commit
git push -u origin master

基础操作


查看状态

git status

状态简览

git status -s

添加文件

git add <some-file>

查看修改

git diff

查看已暂存并将下次提交的内容

git diff --cached
# 或者
git diff --staged

把文件添加到暂存区

git add <some-file>

把所有文件添加到暂存区

git add .
# 或者
git add --all

提交修改

git commit
# 或者
git commit -m 'Fix some bugs.'

跳过暂存区提交

git commit -a -m 'update some files'

关于 -a 参数,Git 的文档是这么描述的:

通知命令自动索引那些被修改或者被删除的文件,但是新添加的文件不会受到影响(即新添加的文件要通过 git add 来显式添加)。

移除文件

情况一:把文件删掉,Git 不再跟踪

git rm <some-file>

情况二:从 Git 中移除文件但文件本身不删除

git rm --cache <some-file>

如果是要删除文件夹,则需要加 -r 参数

git rm --cache -r <some-folder>

查看修改


查看提交历史

git log
git log -p # 查看内容差异
git log --stat # 查看统计信息

一行显示日志信息

git log --pretty=oneline 

查看某用户的提交

git log --author='Tony Wu'

撤销修改


取消上一次提交

git reset HEAD^

修改上一次的提交

git commit --amend

撤销文件在暂存区的修改(回到工作区)

git reset HEAD <some-file>

撤销文件的修改(恢复原状)

git checkout -- <some-file>

撤销所有文件的修改

git checkout -- .

远程仓库


添加远程仓库

git remote add origin <some-git-repo>

查看远程仓库

git remote # 显示远程仓库
git remote -v # 显示远程仓库详情
git remote show origin # 显示 origin 远程库的详情

从远程仓库获取

git fetch <some-remote-branch>

从远程仓库拉取

git pull origin master

推送到远程仓库

git push origin master

删除

git remote rm origin

重命名

# 把 origin 重新命名为 default
git remote rename origin default 

常用命令


下载代码: git clone <some-git-url>

查看状态: git status

添加到暂存区: git add .

从暂存区提交: git commit -m 'commit comments'

推送到服务器: git push origin master

从服务器上拉取: git pull origin master 或者 git pull


原文:https://blog.taotao.io/git-basic-cmd/