资料来源: Git教程
创建版本库
- 创建一个空目录
$ mkdir demo $ cd demo
- 使用
git init
命令把这个目录变成Git可以管理的仓库,初始化后目录下面会多一个.git
目录$ git init
Git命令
-
添加文件、确认提交、查看状态等
$ git add <文件名> // 添加文件到仓库 $ git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。 $ git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写) $ git add -A :是上面两个功能的合集(git add --all的缩写) $ git commit -m "xxx" // 提交,-m 后面输入的是本次提交的说明,commit可以一次提交很多文件 $ git status // 查看git仓库状态 $ git diff <文件名> // 查看difference $ git log // 查看日志 查看简要信息,带上--pretty=oneline
-
回退
$ git reset --hard HEAD^ // HEAD表示当前版本,HEAD^上一个版本,HEAD^^上上个版本,HEAD~100往上100个版本,直接写版本号版本号的前几 个数字 $ git reflog // 查看你每一次的git操作 $ git checkout -- <文件名> // 把文件在工作区的修改全部撤销,返回到最近一次git commit或git add时的状态 $ cat <文件名> // 查看文件内容 $ git reset HEAD <文件名> // 可以把暂存区的修改撤销掉,重新放回工作区
-
删除
$ rm <文件名> // 删除文件 $ git rm <文件名> // git删除文件
-
远程仓库 原文
- 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
回车,一直选默认值,密码设置看你心情
$ git push -u origin master // 把本地库的内容推送到远程。加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令 $ git clone git@github.com:git用户名/远程仓库名称 // ssh协议克隆一个远程仓库到本地 $ git clone https://github.com/用户名/远程仓库名称 // http协议克隆一个远程仓库到本地
git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件。
注意 -A 选项后面还有一个句点。 git add -A表示ssh添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件。
-
分支管理
$ git checkout -b dev // 创建分支dev,相当于下面两条命令 $ git branch dev $ git checkout dev $ git branch // 查看当前分支 $ git merge dev // 合并分支 带参数--no-ff 禁用 Fast forward模式,这种方式合并会提交一次commit,所以需要带上描述信息-m $ git branch -d dev // 删除分支 -d 换成 -D可以强行删除没有合并的分支 $ git log --graph // 查看分支的合并情况 可以带参数--pretty=oneline --abbrev-commit $ git stash // 把当前工作现场储藏起来,去做其他事情,比如修复bug $ git stash list // 查看储藏的工作现场 $ git stash apply // 恢复工作现场,但不删除stash的内容 $ git stash pop // 恢复工作现场,同时删除stash的内容 $ git remote // 查看远程库信息 $ git checkout -b dev origin/dev //获取远程仓库的分支 $ git pull // 获取远程仓库的内容 $ git branch --set-upstream dev origin/dev // 将本地的分支和远程的分支关联起来
-
标签管理
$ git tag v1.0 // 打标签 $ git tag // 查看所有标签 $ git show <tagname> // 查看标签xinxi $ git tag -a v0.1 -m "version 0.1 released" 3628164 // 带说明的标签 , -a 标签名,-m 说明 $ git tag -s v0.2 -m "signed version 0.2 released" fec145a // -s 用私钥签名 $ git tag -d v0.1 // 删除标签 $ git push origin v1.0 // 推送标签到远程库 $ git push origin --tags // 推送全部标签到远程库 $ git push origin :refs/tags/v0.9 // 删除远程库标签,需要先删除本地标签
$ git config --list // 列出Git所有的设置
网友评论