Git版本控制

Git常用命令

1.创建仓库

  • mkdir nnn //仓库名
  • cd nnn //切换到仓库
  • git init //初始化仓库
  • git status //查看仓库状态
  • touch README.txt //创建READEME文件
  • git add ERADME.txt //添加ERADME至暂存区
  • git commit -m "nnn" //如果想要提交信息记录的更详细,请不要加 -m

2.版本回退

  • git log //查看历史纪录,命令显示从最近到最远的提交日志,HEAD表示当前版本,HEAD^表示上一版本,HEAD~100(表示往上一百个版本)
  • git reflog //用来记录每一次命令
  • git reset --hard 版本号 //退回到指定的版本号

3.撤销修改

  • git checkout -- xxx //让这个文件回到最近一次git commit或git add时的状态
  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- xxx。
  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景操作。
  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。

4.删除文件

  • rm xxx //删除文件管理器中的文件
  • git rm xxx //删除版本库中的文件
  • git checkout -- xxx //删除错了,还原。

5.添加远程库

  • git remote add origin git@github.com:a782371741/firstlearngit.git
  • git push -u origin master //把本地库的内容推送到远程

6.从远程库克隆

  • git clone git@github.com:a782371741/gitskills.git //把远程库克隆到本地

7.分支管理-创建与合并分支

  • git branch //查看分支
  • git branch xxx //创建分支
  • git checkout xxx //切换分支
  • git checkout -b xxx //创建+切换分支
  • git merge xxx //合并到某分支
  • git branch -d xxx //删除分支
  • git merge --no-ff -m "merge with no-ff" xxx //普通模式合并,合并后的历史有分支,能看出来曾经做过合并

8.分支管理-创建与合并分支

  • 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
  • 解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
  • git log --graph //查看分支合并图

9.分支管理-Bug分支

  • git stash //把当前工作现场“储藏”起来,等以后恢复现场后继续工作
  • git stash list //查看stash列表
  • git stash pop //恢复工作区的同时把stash内容删除
  • git branch -D xxx//删除一个没有被合并过的分支,强行删除

10.多人协作

  • git push origin xxx //推送分支
  • git clone git@github.com:a782371741/gitskills.git //把远程库克隆到本地
  • git checkout -b xxx origin/xxx //创建远程origin的xxx分支到本地
  • git branch --set-upstream-to=origin/dev dev //建立本地分支和远程分支的关联
  • git pull //抓取远程的新提交,在推送失败的情况下可以先使用

11.创建标签

  • git tag xxx //创建新标签,默认标签是打在最新提交的commit上的。
  • git tag //查看所有标签
  • git tag xxx f52c633(commit id) //指定创建标签
  • git show xxx //查看标签信息
  • git tag -d xxx //删除标签
  • git push origin xxx //推送某个标签到远程
  • git push origin --tags //一次性推送全部尚未推送到远程的本地标签
  • git push origin :refs/tags/xxx //删除远程标签

遇到的问题

  • 添加远端的时候出现 git@github.com: Permission denied (publickey).fatal: Could not read from remote repository.
  • 解决方法:查找资料后发现原来是密钥未配置,配置之后完美解决。参考资料 Jenkin一H的博客园

你阅读过的参考资料

posted on 2019-07-01 16:57  杨伟国  阅读(143)  评论(0编辑  收藏  举报