git命令备查

git安装初始化

  • 用户名:git config --global user.name "Your Name"
  • 电子邮件:git config --global user.email "email@example.com"

本地库操作

  • 创建目录文件夹:mkdir learngit
  • 更改到创建的目录文件夹:cd learngit
  • 显示目录文件:pwd
  • 把目录变成Git可以管理的仓库:git init
  • 显示隐藏的文件夹:ls -ah
  • 把文件添加到仓库:git add readme.txt
  • 把文件提交到仓库:git commit -m "wrote a readme file"
    ** -m 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。**
    ** 为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。 **
  • 时刻掌握仓库当前的状态:git status
  • 看看具体修改了什么内容:git diff
  • 查看历史记录:git log
    ** 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数 **
  • 回退到上一个版本:git reset
    ** 在Git中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。 **
  • 查看文件内容:cat readme.txt
  • 指定回退到某个版本:git reset --hard 3628164
  • 记录你的每一次命令:git reflog
    ** 找不到新版本的commit id怎么办?在Git中,总是有后悔药可以吃的。当你用git eset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到ppend GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令 **
    *** HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。***
  • 丢弃工作区的修改:git checkout -- file # file是要丢弃修改的文件
  • 把暂存区的修改撤销掉:git reset HEAD file # file是要撤销修改的文件
    *** 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考[版本回退]一节,不过前提是没有推送到远程库。***
  • 删除文件:rm test.txt
  • 从版本库中删除该文件:用命令git rm test.txt删掉,并且git commit -m " ..."
  • 把误删的文件恢复到最新版本:git checkout -- test.txt

远程库操作

  • 创建SSH Key:ssh-keygen -t rsa -C "youremail@example.com"
  • 添加远程库:git remote add origin git@github.com:michaelliao/learngit.git ** #照抄github上的提示**
  • 推送到远程库:git push -u origin master
    *** 把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。此后,用git push origin master推送修改***
  • 克隆远程库:git clone https://github.com/pipi636/work.gitorgit clone git@github.com:pipi636/work.git

分支

  • 创建dev分支:git branch dev
  • 切换到dev分支:git checkout dev
  • 创建并合并到dev分支:git checkout -b dev
  • 查看当前分支:git branch
  • 把dev分支的工作成果合并到master分支上:git merge dev
  • 删除dev分支:git branch -d dev
  • 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。用git log --graph命令可以看到分支合并图。

未完待续


感谢廖雪峰老师的git教程,通俗易懂。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容