删除远程分支
- git push origin —delete gh-pages
设置别名
git config —global alias.co checkout
git config —global alias.st status
回退到上一个版本
-
git reset —hard HEAD^
-
git reset —hard commitID
记录每一次命令
- git reflog
将文件把暂存区的修改撤掉
- git reset HEAD readme.txt
- git checkout — readme.txt
查看是否存在ssh
- ssh key
- ls -al ~/.ssh
生成ssh
- ssh-keygen -t rsa -C ‘email’
打开ssh
- open ~/.ssh
- cat .ssh/id_rsa.pub
关联远程库
- git remote add origin git@server-name:path/repo-name.git
- git push -u origin master第一次推送
查看log
- git log --graph --pretty=oneline --abbrev-commit
可以查看分支合并图
- git log —graph
git stash apply stash@{0}
复制一个特定的提交到当前分支dev
git cherry-pick 4c805e
自动给dev分支做了一次提交,提交的commit ID是新的,不是4c805e
创建远程origin的dev分支到本地
git checkout -b dev origin/dev
设置dev和origin/dev的链接
git branch —set-upstream-to=origin/dev dev
git pull
git rebase 把本地未push的分叉提交历史整理成一条直线
rebase操作可以把本地未push的分叉提交历史整理成直线
目的是使我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
总结:
- git commit
- git pull
- git status 查看分叉了
- git rebase 变直线了
- git push
标签总是和某个commit ID挂钩。
- git tag 新建一个标签,默认HEAD,也可以指定一个commit ID
- git tag -a -m ‘blabla…’ 指定标签信息
- git tag 查看所有标签
git fetch与git pull的区别
git pull == git fetch + git merge
git fetch: 可以理解为
全部更新取回本地
git fetch 远程主机名
git fetch 远程主机名 分支名
查看某分支在远程最新状态 FETCH_HEAD
git log -p FETCH_HEAD
git pull : 可以理解为
git fetch origin master
git merge FETCH_HEAD
git push / git rebase