一些git的使用技巧
- 克隆远程仓库指定分支:
git clone -b 分支名 $url
- 将本地文件夹推送到远程,作为一个项目
git remote add origin $url
git push --set-upstream origin master
:将本地分支与远程的master分支关联起来-
git push -u origin
- 戒除本地仓库与远程仓库之间的关系
git remote rm origin #删除origin远程信息,在此之后本地仓库就和origin代表的远程没有关系了
- 打标签:
git tag TAG1
- 创建带备注信息的标签:
git tag -a TAG1 -m "备注信息"
- 给某次提交打标签:
git tag -a TAG1 COMMITID -m "备注信息"
COMMITID
:只取前几位就可以
- 将本地标签推到远程:
git push origin TAG1
- 删除本地标签:
git tag -d TAG1
- 切换到某个标签:
git checkout TAG1
- 切换到某个分支后,并不位于任何一个分支中,是处于游离状态,你可以使用
git checkout -b branch1
来以此为基础,创建新分支
- 切换到某个分支后,并不位于任何一个分支中,是处于游离状态,你可以使用
- 切换到某个标签:
- 创建带备注信息的标签:
- 打标签的最大意义,是帮助代码回溯,手动实现代码回滚是一件很麻烦的事。
强制与远程保持同步:
git fetch --all && git reset --hard origin/master && git pull
- 文件回退
- 工作区的文件,修改了,然后后悔了:使用
git checkout -- file
来回退文件,文件会回退到暂存区的内容 - 修改了工作区的文件,推送到暂存区了,后悔了:使用
git reset HEAD file
,暂存区的文件会回退到推送之前,但是工作区的文件还是原来的样子,暂存区回退并不会影响工作区的文件。 - 文件修改了,推送到暂存区,又推送到仓库里了,后悔了:
git reset --hard HEAD^
,仓库版本回退到前一个commit
,也可以通过指定版本号来回退到指定的版本。
- 工作区的文件,修改了,然后后悔了:使用
- 减小clone下来的文件的大小:
git clone --depth=1 $URL
--depth=1
会令拉取下来的仓库,只包含最近一次的commit,而不存储以往的git记录,从而大大减小仓库的整体大小,因为省去了为了回滚而存储的git改动记录。