下面以一个最简单的开发过程,呈现git最基本的操作命令


 1、下载代码(以code命名仓库为例)

git clone xxxxx/code.git

cd code

2、查看所有分支

git branch -av

3、切换已经存在的分支

git checkout xxx

git branch #再次查看分支

4、从master新建分支,并且切换到新分支(加上-b选项)

git checkout -b feature-wdw-login master

git branch    #再次查看分支

5、在个人分支增删改代码,按照平常编写代码

撸代码
调试代码
编写单测
终于调通准备提交代码,往下看

6、提交代码分4步

#查看有那些文件是被你修改,以防修改不必要文件(有改动文件,显示红色)
git status

#添加准备要提交的代码到暂存区(有改动文件,这时候显示绿色)
git add xxx.c
#再次查看添加了什么,确保正确
git status

#提交代码到本地仓库(注意这个时候还未上传代码到git服务器)
git commit -m "[ADD]: 提交新代码xxx.py"

#真正提交代码到远程仓库,这里提交到个人分支aa
git push origin aa

 

常用命令


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

分支操作: git branch 与 git checkout

查看状态: git status

添加到暂存区: git add <some-file>

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

推送到服务器: git push origin master

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

获取代码


git clone <git-repo-url>

#查看分支,当前所在分支前面带 *

git branch -v

#从当前分支新建一个分支并切到新分支

git checkout -b <new-branch-name>

#切到另一个已经存在的分支,比如master

git checkout master

git branch -v

基础操作


查看状态

git status

添加/暂存文件

git add <some-file>

查看修改

git diff

查看已暂存的内容

git diff --cached

提交修改

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

 

移除文件

情况一:把文件删掉,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-bash安装指引配置了简写的,可以试下git lg查看提交图谱,信息更简洁丰富,如下查看最近20条提交

git lg -20

撤销修改


取消上一次提交

git reset HEAD^

修改上一次的提交

git commit --amend

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

git reset HEAD <some-file>

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

git checkout -- <some-file>

撤销所有文件的修改

git checkout -- .

远程仓库拉取与推送代码


查看远程仓库

git remote # 显示远程仓库

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

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

从远程仓库获取,同步

git fetch <some-remote-branch>

从远程仓库拉取

git pull origin master

推送到远程仓库

git push origin master