git命令
前言
虽然有很多git图形界面工具,某些idea也提供git操作,但掌握具体实现的命令还是很重要。
正文
提交与拉取代码
-
暂存
所有文件:git add .
指定文件:git add file_path_1 file_path_2 -
提交
git commit -m "提交信息" -
推送
git push -
拉取
git pull
分支
-
查看所有远程分支
git branch -r
本地分支则不需要-r -
切换至某分支
git checkout 目标分支 -
合并分支
git merge 分支名
如:需要将test分支合到master,则需先切换至master,然后 git merge test -
删除远程分支
git push origin -d 分支名
撤销与回滚
-
工作区:没有执行 git add
丢弃全部,新增的文件被删除,删除的文件会恢复。回到暂存区之前
丢弃全部:git checkout -- .
丢弃指定文件:git checkout -- file_path -
暂存区:已经执行 git add,没有执行 git commit
仅改变暂存区,不改变工作区,即工作区的文件没有变化。
全部:git reset HEAD .
指定文件:git reset HEAD file_path -
本地分支:执行了 git commit,没有 git push
回到指定版本:git reset --hard <commit id>
回到最新的一次提交:git reset --hard HEAD^
保留代码,回到git add之前:git reset HEAD^
注:在cmd控制台中代表换行符,所以需要使用^ -
远程分支:已经 git push
删除记录:hard不保留代码,soft保留代码
git reset --hard <需要到达的commit id>
git push origin HEAD --force
保留记录,通过新的commit来回滚版本:
git revert <指定的commit id>
git push
本地管理多账户
参考
TODO
标签
-
查看
所有标签:
git tag指定标签:
git tag -l <tag_name>标签信息:
git show <tag_name> -
提交
git tag <tag_name> -m <tag信息> -
推送
单个标签:
git push origin <tag_name>所有标签:
git push origin --tags -
删除
git tag -d <tag_name>git push origin -d <tag_name> -
补增
git tag -a <tag_name> <commit_id>
查看两个分支间的差异
注:本地需要有这两个分支
- 查看总差异
git diff 分支1 分支2 --stat
-标记的是 左分支有,右分支没有;+标记则相反;+-标记的是两边有修改的。 - 查看具体文件的差异
git diff 分支1 分支2 文件路径
+-标记与上面的含义相同

浙公网安备 33010602011771号