git学习

git版本管理

git init : 初始化一个Git仓库
git add files : 添加文件到暂存区
git commit -m comment : 把文件提交到仓库
git status : 查看仓库当前的状态
git diff file : 查看文件变动
git log : 显示从近到远的提交日志
git log --graph --pretty=oneline --abbrev-commit
git reflog : 查看命令历史
git reset --hard commit_id : 回退到commit_id的版本
git checkout -- file : 将文件在工作区的修改全部撤销,包括文件未添加到暂存区,则清空所有文件改动,已添加到暂存区并做了一些修改,则回到添加暂存区后的状态,总之就是让文件回到最近一次git commit或者git add的状态
git reset HEAD file : 将暂存区的修改撤销掉,git reset既可以回退版本,也可以把暂存区的修改回退到工作区
git rm file : 将文件从版本库中删除
git checkout -- file : 用版本库中的版本替换工作区的版本,因此无论工作区是修改还是删除,都可以一键还原

远程仓库

  1. 创建SSH Key : ssh-keygen -t rsa -C “youremail@example.com”,邮件地址替换成你自己的地址,一路回车,使用默认值即可,然后在主目录里找到.ssh目录中看是否有id_rsa和id_rsa.pub文件
  2. 登录github,打开"Account settings",“SSH Keys"页面:点击"Add SSH Key”,填上任意title,在key文本框中粘贴id_rsa.pub中的内容,点"Add Key"添加成功
  • 关联远程仓库:git remote add origin git@github.com:michaelliao/learngit.git ,注意要把git的地址替换成你自己远程仓库的名字
  • git push -u origin master:第一次推送到空的远程库的时候需要加上-u参数将本地的master分支和远程的master分支关联,以后推送或者拉取就可以简化命令:git push origin master
  • git clone git@github.com:javaSnacks/helloworld.git,将远程仓库克隆到本地,注意替换你需要的git地址

分支管理

git checkout -b dev : 创建dev分支,然后切换到dev分支,相当于以下两条命令:git branch dev, git checkout dev
git branch : 查看当前分支
git merge dev : 合并指定分支(当前是dev)到当前分支(HEAD所指向的分支)
git branch -d dev : 删除dev分支
git checkout < branch > : 切换到相应分支,等同于git switch < branch >,如果分支不存在,可以用git switch -c < branch >
git log --graph : 查看分支合并图
git merge --no-ff : 禁用Fast forward快速合并模式(该模式合并后如果删除分支会丢失分支信息)
git stash : 将当前工作区储藏起来,方便快速切换来修bug
git stash list : 列出储藏起来的工作现场
git stash apply : 恢复stash的内容
git stash drop : 删除stash中的内容
git stash pop : 恢复stash内容同时将stash内容删除
git cherry-pick < commit > : 复制一个特定的提交到当前分支
git branch -D < name > : 丢弃一个没有被合并过的分支
git remote : 查看远程库的信息,添加-v可以显示更详细的信息
git push origin master : 将该分支上的所有本地提交推送到远程库
git push origin dev : 将该分支上的所有本地提交推送到远程库dev分支
git pull : 从远程抓取分支,如果有冲突,要先处理冲突
git checkout -b branch-name origin/branch-name : 在本地创建和远程分支对应的分支,本地和远程的名字最好一致
git branch --set-upstream branch-name origin/branch-name : 建立本地分支和远程分支的关联
git rebase : 把本地未push的分叉提交历史整理成直线

posted @ 2020-04-20 22:45  go_and_get_it  阅读(6)  评论(0)    收藏  举报  来源