- 将当前目录变成Git可以管理的仓库
$ git init
- 将文件添加到仓库(以readme.txt为例)
$ git add readme.txt
# git add 可以反复使用,多次添加后一次性提交。
可能出现的情况:
warning: LF will be replaced by CRLF in readme.txt.
windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法:
$ rm -rf .git // 删除.git
$ git config --global core.autocrlf false //禁用自动转换
# 然后重新执行:
$ git init
$ git add readme.txt
- 把文件提交到仓库
$ git commit -m "wrote a readme file"
# -m 后面输入的为本次提交的说明。
- 查看仓库当前状态
$ git status
- 查看变动(以readme.txt为例)
$ git diff readme.txt
# diff 就是 difference 的意思
- 查看提交历史
$ git log //更详细
$ git log --pretty=oneline //更简洁
- 回退到上一个版本
$ git reset --hard HEAD^
# 还可以回到指定版本
$ git reset --hard commit id
# commit id 就是 git log 后 commit 后面的那串字母+数字。可以不写全,能识别出唯一就行。
- 查看文本内容(以readme.txt为例)
$ cat readme.txt
# Unix系统指令
- 查看命令历史
$ git reflog
- 查看工作区和版本库最新版的区别(以readme.txt为例)
$ git diff HEAD -- readme.txt
- 撤销修改(以readme.txt为例)
$ git checkout -- readme.txt
# 把readme.txt在工作区的修改全部撤销(add之前)
$ git reset HEAD readme.txt
# 把暂存区的修改撤销掉,重新放回工作区(commit之前)
- 删除文件(以test.txt为例)
$ rm test.txt
# Unix指令,删除本地文件
$ git rm test.txt
$ git commit -m "remove test.txt"
# 版本库中删除,如果版本库中未删除,可用 git checkout -- test.txt “一键还原”
- 关联远程库
$ git remote add origin ssh
# ssh为GitHub仓库的SSH地址
- 本地内容推送到远程库
$ git push -u origin master
# 第一次推送时加 -u ,可以把本地master分支和远程master分支关联起来,之后可不加
- 克隆本地库
$ git clone ssh