git笔记
简单的学习了git,将相关命令记录备查:
git init 建立版本库
git add 上传(提交到暂存区)
git commit -0m "版本描述" 提交(提交到mater分支区)
git log 提交日志
git reset --hard [版本号][HEAD^^] 恢复到指定版本 可以用版本号也可以用HEAD 后面有几个^就表示回到倒数第几个版本,或者HEAD~n
git status 显示添加而未提交和新增未添加的信息
git reflog 查看commit历史版本
git checkout -- filename 让这个文件回到最近一次git commit或git add时的状态。
git reset HEAD filename 清除暂存区对改文件的修改
git rm 删除一个文件
ssh-keygen -t rsa -C "youremail@example.com" 创建ssh KEY 类比ssh免登陆时进行的操作
git remote add origin git@server-name:path/repo-name.git git remote 别名 ssh地址 添加一个远程地址,与别名绑定
git remote 查看远程分支
git push -u origin master git push -u 目标主机 本地主机 -u 关联本地和远程的分支
git clone git@server-name:path/repo-name.git 从远程主机克隆到本地
git checkout -b dev 创建并切换分支相当于执行 git branch dev 和 git checkout dev
git branch 查看当前所有的分支
git branch -d dev 删除指定的分支
git merge dev 把指定分支合并到当前分支
git log --graph 查看分支合并图
git merge --no-ff -m "merge with no-ff" dev --no-ff:不使用fast-forward方式合并,保留分支的commit历史 --squash:使用squash方式合并,把多次分支commit历史压缩为一次
git stash 储存当前工作区未提交的内容 参数: list 查看储存记录 apply/drop 恢复/删除 pop 等同于前两个参数操作 恢复并删除
git branch -D branchname 强行删除分支
多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
git tag name 新建一个标签
git tag -a name -m "balalala..." 指定标签信息
git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
git config --global alias.aname commandname
.git/config 保存配置信息