- $ git init
通过git init命令把这个目录变成Git可以管理的仓库 - $ git add file
- add告诉Git,把文件添加到仓库
- $ git commit -m "提交说明"
- commit告诉Git,把文件提交到仓库
- $ git status
- status命令可以让我们时刻掌握仓库当前的状态
- $ git diff file
查看更改内容 - $ git log --pretty=oneline
- log命令显示从最近到最远的提交日志
- $ git reset --hard HEAD^
回退一个版本 ,几个^就是回退几个版本 - $ cat file
查看文件内容 - $ git reset --hard commit id
回退到commit id的版本
Git回退版本的速度非常快,在Git内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git只是把指针指向的位置换了一下。
- $ git reflog
- reflog用来记录你的每一次命令
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
- 我们把文件往Git版本库里添加的时候,是分两步执行的
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
- $ git checkout -- file
丢弃工作区的修改 - $ git reset HEAD file
- reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本
- $ git rm file
从版本库中删除该文件 - $ git checkout -- file
如果删除错了通过git checkout可以一键还原 - $ ssh-keygen -t rsa -C GitHub账户名
创建SSH Key - $ git remote add origin GitHub地址
将本地仓库与远程仓库关联,必须有拥有SSH Key的公钥
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
- $ git push -u origin master
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。 - $ git clone GitHub地址
克隆 GitHub地址的仓库 - $ git branch
查看分支 - $ git branch
创建分支 - $ git checkout
切换分支 - $ git checkout -b
创建+切换分支 - $ git merge
合并某分支到当前分支 - $ git branch -d
删除分支 - $ git log --graph
查看分支合并图
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
- $ git merge --no-ff -m "merge with no-ff" dev
使用--no-ff参数,禁用Fast forward - $ git stash
将分支储存起来,等需要时恢复 - $ git stash list
查看储存起来的分支
恢复储存分支的两种方法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除。
另一种方式是用git stash pop,恢复的同时把stash内容也删了:
- $ git branch -D feature-vulcan
强行删除分支 - $ git remote
查看远程库的信息 - $ git remote -v
显示更详细的信息 - $ git push origin master
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上 - $ git tag v1.0
当前版本打一个新标签 - $ git tag
查看所有标签 - $ git tag v0.9 -m "version 0.9" commit id
给某一个提交的版本打标签,-m说明文字 - $ git show <标签>
查看标签信息 - $ git tag -d <标签>
删除标签 - $ git push origin <标签>
推送标签到远程仓库 - $ git push origin --tags
将所有标签全部推送到远程仓库 - $ git tag -d <标签>
如果标签已经推送到远程,要删除远程标签先删除本地标签 - $ git push origin :refs/tags/<标签>
然后从远程删除
时间: 2024-10-04 01:15:25