文章目录
1 获取 Git 配置信息
git config --list
2 创建版本库
创建版本库即创建一个目录,其中该目录中的所有文件均可以被 Git 管理。
git init
我们可以先创建一个空目录
然后通过 git init 命令把这个目录变成 Git 可以管理的仓库:
3 把文件添加到仓库
git add use.txt
4 把文件提交到仓库
git commit -m "wrote a readme file"
-m 后面输入的是本次提交的说明
5 仓库状态
git status
6 查看历史记录
git log
git log 用于显示从最近到最远的提交日志。
使用 --pretty=oneline 参数可以简化输出:
commit id 表示版本号
7 版本回退
git reset --hard HEAD^
HEAD 表示当前版本,也就是最新的提交 commit id,而上一个版本是 HEAD^,再上一个就是 HEAD^^,以此类推。
我们也可以指定版本号进行回退,当然版本号没有必要写全,只写前面几位就行了;当然也不能只写一两位,这样 git 可能会找到多个版本号。
8 命令记录
git reflog
git reflog 记录你执行过的命令。
9 丢弃工作区的修改
git checkout -- file
该命令可以让文件回到最近一次 git commit 或 git add 时的状态。
10 删除文件
一般来说,我们可以在工作区直接删除掉文件,但是这样,会造成工作区和版本库的不一致,现在我们有两个选择,一是删错了,由于版本库还有,那么我们直接恢复即可。
如果我们确实需要删除,使用 git rm 即可,注意需要 git commit。
11 链接远程服务器
git remote add origin git@github.com:LingHaoYuan/exchange.git
origin 是别名,可以根据自己的喜好命名。
12 推送内容到远程库
git push -u me master
其中 me 是别名,-u 参数不仅表示将本地的 master 分支内容推送到远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令不带该参数。
13 拉取分支
14 克隆远程库
git clone git@github.com:LingHaoYuan/SZUTech.git
如果我们已经有了一个远程库,那么我们可以克隆一个本地库。
15 创建并切换分支
git checkout -b dev
git checkout 命令加上 -b 参数表示创建并切换,相当于下面两条命令:
git branch dev
git checkout dev
16 查看当前分支
git branch
17 合并分支
git checkout master
git merge dev
把 dev 分支的工作成果合并到 master 分支上
18 删除分支
git branch -d dev
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <branch>
强行删除。
19 储藏工作现场
git stash
20 恢复现场
有两种方法,一是用 git stash apply 恢复,但是恢复后,stash 内容并不删除,你需要用 git stash drop 来删除;另一种方式是用 git stash pop,恢复的同时把 stash 内容也删了:
21 创建标签
git tag <name>
22 查看所有标签
git tag
git show <tagname>
可以查看某个标签的详细信息。
23 删除标签
git tag -d <name>
创建的标签都只存储在本地,不会自动推送到远程,所以可以在本地安全删除。
24 推送标签到远程
git push origin <tagname>
25 删除已推送到远程的标签
git tag -d <tagname>
git push origin :refs/tags/<tagname>