基础操作
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
$ git init
$ git add readme.txt
$ git commit -m "wrote a readme file"
$ git status
$ git diff readme.txt
$ git log
$ git log --pretty=oneline
当前版本回退到上一个版本
$ git reset --hard HEAD^
$ git reset --hard 1094a
$ git reflog
git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。
git checkout -- file可以丢弃工作区的修改:
$ git checkout -- readme.txt
命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区:
$ git reset HEAD readme.txt
$ rm test.txt
$ git checkout -- test.txt
分支
查看分支:git branch
创建分支:git branch
切换分支:git checkout 或者git switch
创建+切换分支:git checkout -b 或者git switch -c
合并某分支到当前分支:git merge
删除分支:git branch -d
$ git log --graph命令可以看到分支合并图
$ git log --graph --pretty=oneline --abbrev-commit
准备合并dev分支,请注意–no-ff参数,表示禁用Fast forward:
$ git merge --no-ff -m “merge with no-ff” dev
$ git stash
$ git stash pop
$ git cherry-pick
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a -m "blablabla…"可以指定标签信息;
命令git tag可以查看所有标签。
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
#========
id_rsa和id_rsa.pub这两个文件
$ ssh-keygen -t rsa -C “youremail@example.com”
gitee
+++++++++
git remote add origin git@gitee.com:liaoxuefeng/learngit.git
git remote -v
git remote rm origin