1:git init
初始化一个仓库
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
2:git add <filename>
将制定的文件添加进暂存区
git add -A //提交所有变化
git add -u //提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . //提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
3:git commit -m <message>
将暂存区中的任务添加进版本库
4:git status
查看工作区的状态
5:git log
查看历史commit的内容及commit id
6:git reset --hard <版本号 or HEAD~>
将当前版本回退到某个commit的版本,可以指定版本号或者使用HEAD
HEAD:当前版本
HEAD~:上一个版本
如果已经回退版本了,又想再回到之前那个新的版本,可以使用git reflog命令,查看所有命令,就知道那个id了!
7:git checkout -- <filename>
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
8:git reset HEAD <filename>
撤销到已经添加到暂存区中的指令
比如我修改了一个文件,现在使用git add。现在我不想把它添加到暂存区,即我想撤销add操作。那么就使用这个命令。同时文件里的内容是不会被撤销的。
9:git rm
执行删除文件命令。(这只是一个命令,用于将操作放到暂存区,相当于add。而在这个命令之前,我们已经把文件用ui或者rm命令删除了!)执行完删除命令后再执行commit,即可完全删除。
若我们用ui或者rm不小心删除了某个文件,而该文件在暂存区中仍存在,那么我们也可以用 git checkout -- filename 该命令还原!
10:git remote add origin git@github.com:sumray/xx.git
在本地仓库下运行该命令,就可以把本地仓库和远程仓库关联到一起。(前提是你的电脑上有SSH公钥)
11:git push origin master <-u>
将本地仓库的内容推送到远程仓库中。origin是远程仓库名。master是远程仓库的分支名
若是第一次推送,加上-u参数,则把master分支和远程仓库的master分支关联到一起。
12:git clone git@github.com:sumray/yy.git
将远程仓库克隆到本地仓库
13:git checkout <branch name> <-b>
切换到指定的分支上。
若加上 -b参数,则是创建并切换到该分支。
<meta charset="utf-8">
14:git branch <branch name> <-d> <-D>
创建分支。
若不加<branch name>,则是查看当前所有分支。
加上-d参数,则是删除指定分支
若分支未合并,还要强制删除,则用-D参数
15:git merge <branch name>
合并某分支内容到该分支上。
假设在dev上做了修改并commit,在master上也做了修改并commit。然后在master上进行merge,提示:
意思就是该文件有冲突。这时候需要我们进入文件中手动修改。
会有>>>>HEAD,<<<<<<<branch name>提示,只需要修改这一块就好了。然后add,commit,冲突解决。
16:git stash
将工作区进行保存,变为一个干净的工作区,继续工作。
- 查看当前的stash列表:
git stash list
- 通过list id,回退到stash隐藏的工作区中。此时stash list中该id的stash记录还存在
git stash apply <stash list id>
通过list id,删除该隐藏区的记录。若还没回到该工作区,执行删除操作后,会连工作区一起删除!
git stash drop <stash list id>
回退到原来的工作区中,并将对应的list记录也删除。
git stash pop
17:git tag <tag name> | <commit id> <-d>
- 查看当前所有标签
加上<tag name> 则是创建一个新的标签,默认该标签是打在最新的一次commit上。也可以指定commit的id创建标签。
若加上-d参数,则是删除该标签
git tag
2.指定标签名,和信息。
git tag -a <tagname> -m "blablabla..."
18:git show <tag name>
查询该标签的具体信息
19:git push origin <tag name>
向远程库中添加该tag
20:git config --global alias.st status
配置别名
- 删除别名:
21:git pull <远程主机名> <分支名> : <本地分支名>
获取远程库中最新的代码,并merge。(此操作目的是获取其他人操作的代码。如果你自己提交到git上,然后在本地修改了代码并commit到本地,那么此时pull不到代码。因为git记录的是本地库提交到远程库时的版本)
- 表示将远程库的dev分支合并到当前分支。
git pull origin dev
- 将远程库的dev分支合并到test分支
git pull origin dev : test
若当前分支已追踪远程库的分支,并且只有这一个追踪,那么可以直接:
git pull