mkdir learngit
cd learngit
git init #初始化Git仓库
touch readme.txt #创建文件
vi readme.txt #添加文本内容
:wq强制保存退出vi编辑器
git add readme.txt #添加到暂存空间
git commit -m "first commit" #提交到本地Git仓库并备注
git status #查看状态
git reset HEAD readme.txt #将暂存空间的内容撤销
git checkout readme.txt #使用版本库里的内容覆盖工作空间内容,同时达到撤销工作空间内容的目的
git reset --hard HEAD^ #回退到上个版本
git reset --hard (gitID) #回退为指定版本
git log #查看当前版本以及之前版本的id +--pretty=oneline简化显示
git ref log #查看所有版本的id
**远程仓库:**
github注册
$ ssh-keygen -t rsa -C "example@qq.com" #创建本机的key
打开github.com 登录,添加SSH Keys
git remote add origin git@github.com:xxxxs/learngit.git #关联远程仓库
git push -u origin master #将本地库push到远程库,第一次加-u关联,之后可以不加
git clone git@github.com:xxxxs/learngit.git #克隆
**分支:**未提交的内容显示在工作区,所有分支都可以看到,commit后的内容在对应的分支内,切换只能在对应的分支内看到。
git branch #查看分支,*为当前分支
git branch <name> #创建分支
git checkout -b <name> #创建并切换分支
git merge <name> #合并某分支到当前分支
git branch -d <name> #删除分支
git branch -D <name> #强制删除分支
**分支冲突:**合并时显示分支冲突先merge后修改<<<<分支1<<<<<分支2之间的冲突内容,然后提交,当前分支会比被合并的分支多commit一次
git log --graph --pretty=oneline --abbrev-commit #查看分支情况
git merge --no-ff <name> #禁用Fast forward 不删除分支,合并后保留分支
**BUG分支:**正在dev分支工作,需要修改BUG并提交,应该先把dev当前工作区stash储藏起来,修改完bug提交后在使用恢复dev的内容到工作区
git stash #储存当前工作区
git stash list #查看
git stash apply <stashid> #恢复指定内容到弓弩走去,不在stash内删除,stashid通过git stash list查询
git stash drop<shashid> #删除
git stash pop #恢复stash的内容到工作区,并在stash内删除
**标签:**
git tag <name> #新建标签,默认为HEAD,也可以指定一个commit id.
git tag -a <tagname> -m "Test" #指定标签信息
git tag -s <tagname> -m "Test" #使用PGP签名标签
git tag #查看所有标签
git show <tagname> #查看指定tag的详细内容
git tag -d <tagname> #删除tag
git push origin <tagname> #推送指定标签到远程
git push origin --tags #推送所有标签到远程
git push origin :refs/tags/<tagname> #从远程删除标签
Git教程
最新推荐文章于 2023-05-02 09:47:26 发布