关于git

来源:互联网 发布:北京壁虎网络 编辑:程序博客网 时间:2024/06/06 04:42

我想将与git有关的指令进行一个总结,同时,对其作用等进行一定程度的归纳

(1)pwd,显示当前目录所在的位置。

(2)git init,将当前所在的目录变成git所管理的仓库。

(3)ls -ah,可以看到git目录。

(4)首先要在工作区中编写或修改文件。

   git add 文件名,将工作区中的文件添加到暂存区。

   git commit -m “对本次修改的说明”,将暂存区中的文件上传到版本库。

(5)git status,查看仓库中当前的状态(是否有需要提交的修改)。

(6)git diff,查看具体的修改。

(7)git log,查看所有修改过的记录。

   git log --pretty=oneline,只显示commit的id和该commit的说明。

(8)HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本,HEAD~100表示往上100个版本

(9)git reset --hard 想倒回的版本(或版本的commit的id),回到你想倒回的版本。同时倒回去后该版本后面所修改的版本当将会被删除。

    回退版本时,git只是将HEAD指针指向了你所想倒回的版本,因此速度快

(10)git reflog,查看你所有的命令。

(11)git checkout -- 想要撤销修改的文件名,将还未添加到暂存区的修改撤销。

     git reset HEAD 文件名,将暂存区中的修改撤销。

(12)git rm 文件名,删除该文件。

     再用git commit将该命令提交,然后版本库中该文件将会被删除。

(13)git remote add 远程库名字 git@github.com:github账户名/仓库名.git,关联一个远程库。

(14)git push 远程库名字 分支名字,将当前分支推送到远程库。

   git push -u 远程库名字 分支名字,第一次提交时使用,将远程库中的该分支和本地的该分支关联起来

(15)git clone git@github.com:github账户名/远程仓库的名字.git,从远程库中克隆该仓库到本地库。

(16)git checkout -b 分支名字,创建并切换到该分支。

     git branch 分支名字,创建该分支。

     git checkout 分支名字,切换到该分支。

(17)git branch,查看当前所在分支。(列出所有分支,当前分支前面会标有一个*号)

(18)git merge 分支名字,将指定的分支和当前的分支合并。

(19)git branch -d 分支名字,将该分支删除。

(20)git log --graph --abbrev-commit,查看分支合并的情况。

(21)git mergr --no-ff -m "commit的说明” 分支的名字,禁用Fast forward(快速合并模式)合并分支

    该合并方式(即普通合并方式)需要创建一个新的commit。

    同时,使用该模式后用git log可以查看出合并的记录。快速合并模式则不会有合并的记录。

(22)git stash,将当前工作区的内容暂时储存起来。(用于bug修复)

(23)git stash list,查看之前储存的工作区的内容。

(24)git stash pop,将stash恢复并删除stash之前保存位置的内容。

     git stash apply,将stash恢复。

     git stash drop,将stash内容删除。

(25)git branch -D 分支名字,将一个还没有被合并过的分支强行删除。

(26)git remote,查看远程库的信息。

     git remote -v,查看远程库更详细的信息。

(27)git checkout -b 分支名字 远程库名字/分支名字,创建远程库的某分支到本地。

(28)git pull,从远程库中将最新的提交抓取到本机。

(29)git tag 标签名字,该标签名字代表最新的commit。

(30)git tag,查看所有的标签。(排序顺序为字母顺序)

(31)git tag 标签名字 commit的id,给指定的commit打上标签。

(32)git show 标签名字,查看标签的信息。

(33)git tag -a 标签名字 -m "说明内容” commit的id,创建带有说明的标签。

(34)git tag -s 标签名字 -m "签名” commit的id,用私钥签名一个标签。

(35)git tag -d 标签名字,将该标签删除。

(36)git push 远程库 标签名字,推送该标签到远程。

(37)git push 远程库 --tags,将所有的标签都推送到远程库。

(38)删除远程库的标签要先将本地的标签删除

     git push 远程库 :refs/tags/标签名字,删除一个远程标签。