Git常用指令

238 阅读2分钟

一、新建仓库

  • git init 初始化仓库,可以发现当前目录下多了一个.git的目录
  • git remote add origin git@github.com:joel/test.git 本地仓库与远程仓库建立联系,origin是默认名称,可更改
  • git push -u origin master 把本地库的所有内容推送到远程库上。由于远程库是空的,我们第首次推送master分支时,加上了-u参数(推送和关联),后续推送可简化指令。

二、常用修改指令

  • git add xxx.txt添加,但是不提交,git add.添加所有文件。
  • git commit -m "提交描述"提交,只有add后提交才有效。

三、常用查看指令

  • git status 查看仓库当前的状态

  • git diff 文件名查看对文件做什么修改

  • git diff 版本号1 版本号2 --stat查看两个版本的差异的文件列表,包括被修改行数和增删图。参数改为--name-status前面显示修改说明字母(A,M等),无行数

  • git branch 查看当前所在的分支。git branch命令会列出所有分支,当前分支前面会标一个*

  • git log显示从最近到最远的提交日志

  • git remote 查看远程库的信息,加-v显示详细内容

四、撤销修改和版本回退

  • git checkout -- 文件名把没暂存(即没add)的干掉,或者说,丢弃工作区,回到到暂存状态
  • git reset HEAD 文件名把暂存的状态取消,工作区内容不变,但状态变为“未暂存”。

简单来说,没有add过的修改,只需要git checkout -- 文件名即可撤销;add 过的修改,先git reset HEAD 文件名变成没add 过的修改,再git checkout -- 文件名撤销。

  • git reset --hard HEAD^ 会回退到上一个版本
  • git reset --hard 某版本号前几位回退到指定版本

五、分支管理

  • git branch dev,新建分支是新建指针,指向当前commit

  • git checkout dev切换到dev分支

  • git checkout -b dev创建一个新的分支dev,并切换到dev分支。相当于以下两条命令:git branch devgit checkout dev

  • git merge dev 这是在master分支上执行的命令,把dev分支合并到master分支上

  • git branch -d dev 删除已合并的分支。

  • git rebase master变基。在当前分支(非master)下执行该命令,则相当于把当前分支和mater分支合并,和merge操作类似,但提交历史不同,rebase操作的log更干净。