Git常用命令

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。在团队开发中git是必不可少的

文件操作

# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status

# 添加单个文件到暂存区
git add [filename]
# 添加所有文件到暂存区
git add .    

# 如果暂存区有文件,则将其中的文件提交到仓库
git commit        
# 带注释提交,说明你增加或修改的内容
git commit -m 'your comments'

# 查看版本库中所有的改动
git diff    
# 查看具体文件的改动
git diff Readme.md       

# 显示所有提交的历史记录
git log     
# 单行显示提交历史记录的内容
git log --pretty=oneline  

# 回退到上一个提交版本
git reset --hard HEAD^  
# 回退到上上一个提交版本
git reset --hard HEAD^^      
# 回退到未来的某个版本
git reflog
# 会退到 commit_id 指定的提交版本
git reset --hard 'commit_id'    

# 如果指定文件在工作区,则丢弃其修改
git checkout -- [filename]   
# 丢弃当前目录下所有工作区中文件的修改
git checkout -- . 

# 删除已经被提交过的文件
git rm [filename] 

分支操作

# 查看本地分支信息
git branch         
# 查看相对详细的本地分支信息
git branch -v     
# 查看包括远程仓库在内的分支信息
git branch -av     

# 新建一个名称为 dev 的分支
git branch dev 
# 新建完 dev 分支以后,通过该命令切换到 dev 分支
git checkout dev 
# 新建 dev 分支,并切换到该分支上
git checkout -b dev 
# 切换回 master 分支
git checkout master   
# 合并指定分支到当前分支
git merge [branch] 

# 删除 dev 分支
git branch -d dev 

远程仓库

# git clone 后面的仓库地址,可以支持多种协议,如 https, ssh 等。
git clone https://github.com/git/git.git
# 为本地仓库添加远程仓库
git remote add origin your_remote_git_repo 

# 第一次推送时使用,可以简化后面的推送或者拉取命令使用
git push -u origin master 
# 将本地 master 分支推送到 origin 远程分支
git push origin master    

# 拉取远程仓库内容,但不会自动合并
git fetch origin master  
# 拉取远程仓库内容,自动合并
git pull origin master

# 查看远程仓库信息
git remote [-v]
# 建立本地分支和远程分支的关联
git branch --set-upstream 'local_branch' origin/remote_branch
# 修改本地仓库对应的远程仓库地址
git remote set-url origin [url]

标签管理

# 创建标签
git tag -a 'tagname' -m 'comment' 'commit_id'
# 查看本地仓库中的所有标签
git tag 
# 查看具体标签信息
git show tagname
# 删除本地标签
git tag -d tagname

# 推送标签到远程仓库
git push origin tagname
# 推送所有标签到远程仓库
git push origin --tags
# 删除远程标签
git push origin --delete tagname