Git常用命令

才开始使用Git,好些命令还不能完全掌握,特留笔记待查。

标签相关

新建标签:

git tag <tagname>

查看所有标签:

git tag

删除标签:

git tag -d <tagname>

推送某个标签到远程:

git push origin <tagname>

推送全部尚未推送到远程的本地标签:

git push origin --tags

如果标签已经推送到远程,则删除标签需先删除本地,再用以下命令删除远程的标签:

git push origin :refs/tags/<tagname>

远程库相关

与远程库建立关联

git remote add origin username@domain.com/filename

推送本地更新到远程

git push -u origin master

加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,以后直接使用git push完成推送。 克隆,一般来说直接git clone即可:

git clone username@domain.com:/xxx.git

以上仅针对当SSH使用标准的22端口,如果服务器自定义了其它端口,则按这样操作:

git clone ssh://username@domain.com:端口/xxx.git

版本管理

查看提交日志:

git log

加上--pretty=oneline参数则可以将相关日志紧凑的显示在一行:

git log --pretty=oneline

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。 回退到上一版本:

git reset --hard HEAD^

也可以使用commit id,直接回退到该版本:

git reset --hard 1094a

版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

git reflog