git status :
可以让我们时刻掌握仓库当前的状态,是否有文件被修改
git diff :
顾名思义就是查看difference,比较
git add filename : 准备提交
git status :
再次查看仓库的状态
git
commit
-m
"add distributed" : 提交
git log :
命令显示从最近到最远的提交日志
git log --graph
:查看分支合并图
git reflog :
查看命令历史
git reset --hard HEAD^ :
回退到上一个版本
git checkout -- readme.txt
意思就是,把
readme.txt
文件在工作区的修改全部撤销
git remote add origin git@server-name:path/repo-name.git :
要关联一个远程库
例如:git remote add origin git@github.com:redhatJony/gitRepository.git
git push -u origin master:
第一次推送master分支的所有内容
git push origin master
:
推送最新修改
git clone git
@github
.
com:
michaelliao/gitskills.git :将远程库
克隆到本地库
branch
:
git branch
查看分支
:
git branch <name>
创建分支
:
git checkout <name>
切换分支
:
git checkout -b <name>
创建+切换分支
:
git merge <name>
合并某分支到当前分支
:
git branch -d <name>
删除分支
:
git branch -D <name> 强行
删除分支
处理冲突的方式是,打开源文件,手工去掉冲突,类似于SVN中。然后再提交!
git merge --no-ff -m "merge with no-ff" dev :
用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
git stash : 将当前分支保存起来
git stash list : 获取分支的保存的记录
git stash apply :
恢复
git stash drop : 删除
git stash pop :
恢复的同时把stash内容也删了
git remote -v
:查看远程库信息
git pull :
抓取远程的新提交
git push origin branch-name :
从本地推送分支
git checkout -b branch-name origin/branch-name :
在本地创建和远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name :
建立本地分支和远程分支的关联
git pull :
从远程抓取分支
git tag <name> commitId:
新建一个标签,默认为
HEAD
,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."
:指定标签信息;
git tag -s <tagname> -m "blablabla...":
用PGP签名标签;
git tag:
查看所有标签。
git push origin <tagname>:
推送一个本地标签;
git push origin --tags:
推送全部未推送过的本地标签;
git tag -d <tagname>:
删除一个本地标签;
git push origin :refs/tags/<tagname>:
删除一个远程标签。
# 删除 untracked files
git clean -f
# 连 untracked 的目录也一起删掉
git clean -fd
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd