git命令总结

git config 获取git配置或设置git配置,详细介绍参考初次运行git前的配置

git help 获取git命令使用手册,详细介绍参考获取帮助

git init 在现有目录中初始化仓库,详细介绍参考获取git仓库

git clone [url] 克隆现有的仓库,url后面可以自己指定本地仓库(克隆下来的文件夹)的名字。-o选项用于修改远程仓库的简写名称(默认是origin),详细介绍参考获取git仓库

git status 检查工作 目录内的文件状态,-s或--short选项可以以紧凑的格式输出状态信息,详细介绍参考状态简览

git add 添加内容到下一次提交中,使用文件或目录的路径作为参数,如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件。这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等

git diff 通过文件补丁的格式显示具体哪些行发生了改变,详细介绍参考查看已暂存和未暂存的修改

git commit 提交更新本次更新到仓库,每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。执行时会启动文本编辑器以便输入本次提交的说明。-v选项,这会将你所做的改变的 diff 输出放到编辑器中从而使你知道本次提交具体做了哪些修改。-m选项可以将提交信息与命令放在同一行(执行时不启动文本编辑器)。 -a 选项会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。--amend 选项可以用来修改已提交的信息,详细介绍参考重新提交

git rm 移除文件,详细介绍参考移除文件

git mv file1 file2 移动文件或重命名文件

git log 查看提交历史,详细介绍参考查看提交历史

git reset HEAD file 取消暂存的文件,在调用时加上 --hard 选项可以令 git reset 成为一个危险的命令(会重置索引和工作树,放弃自上次commit以来对工作树中跟踪文件所做的任何更改),不加选项地调用git reset 并不危险 — 它只会修改暂存区域

git checkout -- [file] 撤消对文件的修改,还原成上次提交时的样子(或者刚克隆完的样子,或者刚把它放入工作目录时的样子),你需要知道 git checkout -- [file] 是一个危险的命令,这很重要。 你对那个文件做的任何修改都会消失 - 你只是拷贝了另一个文件来覆盖它

git remote 查看你已经配置的远程仓库服务器,指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL

git remote add <shortname> <url> 添加一个新的远程 Git 仓库库,同时指定一个你可以轻松引用的简写,添加完后就可以在命令行中使用远程仓库的简写来替代整个url

git fetch 从远程仓库抓起数据,详细介绍参考从远程仓库中抓取与拉取 ,--all选项可用于抓取所有的远程仓库数据

git pull 抓取远程仓库数据并自动合并,详细介绍参考从远程仓库中抓取与拉取 ,拉取&删除远程分支

git push [remote-name] [branch-name] 推送分支到远程仓库,详细介绍参考推送到远程仓库。branch-name:remote-branch-name当本地分支名称后面加上冒号后,它右边的部分将作为推送到远程仓库的分支名称。--delete选项用来删除一个远程分支,详细介绍参考拉取&删除远程分支。此命令也用于推送标签到共享服务器上,使用--tags 选项的 git push 命令。,这将会把所有不在远程仓库服务器上的标签全部传送到那里

git remote show [remote-name] 查看单个远程仓库的更多信息

git remote rename [remote-name] [remote-name2] 修改远程仓库的简写名

git remote set-url <name> <newurl> 更改远程仓库的url

git remote rm [remote-name] 移除一个远程仓库

git tag 用于操作标签,详细介绍参考打标签

git show  查看提交或标签信息,参数可以是标签名或提交的SHA-1校验和

git branch:用于操作分支,详细介绍参考分支创建。使用-d选项来删除分支(当前检出的标签,即HEAD指向的那个分支不可删除。未合并的分支也不可删除,除非使用-D选项)。如果不加任何参数运行它,会列出当前本地仓库所有的分支,其中有一个分支被 * 字符标记:它代表现在检出的那一个分支(也就是说,当前 HEAD 指针所指向的分支)。使用-v选项查看每一个分支的最后一次提交,--merged与--no-merged这两个有用的选项可以过滤这个列表中已经合并或尚未合并到当前分支的分支,-vv选项会将所有的本地分支列出来并且包含更多的信息,如每一个分支正在跟踪哪个远程分支与本地分支是否是领先、落后或是都有,使用-u 或 --set-upstream-to 选项可以显式的设置或修改跟踪分支。

强调一下当使用-D强制删除分支时:

当使用-D强制删除iss91分支时C4之上的所有提交对象都将被删除,因为C4是iss91和iss91v2分支的共同祖先,或者说是两个分支的共同起点,所以删除到C4时说明iss91分支已经从终点到起点完整的被删除了。

 

git checkout:切换分支,详细介绍参考分支切换。使用-b选项新建一个分支然后切换到那个分支上,利用-b选项还可以检出特定的标签版本,例如 git checkout -b [newbranchname] [tagname],还可以把tagname换成分支名称,这样就可以基于指定的分支位置再新建一个分支,注意如果指定的分支是一个远程跟踪分支,会自动创建一个 “跟踪分支”,Git 还提供了 --track 快捷方式来代替这种操作,详细介绍参考远程分支&跟踪分支

git merge:合并分支,详细介绍参考分支的合并&遇到冲突时的分支合并

git ls-remote [remote-name]: 显式地获得远程引用的完整列表,详细介绍参考远程分支&跟踪分支
git rebase:变基操作,用于整合来自不同分支的修改,详细介绍参考
变基

posted on 2018-04-28 17:05  代码ok  阅读(523)  评论(0编辑  收藏  举报