美文网首页
2017-12-30 Git使用

2017-12-30 Git使用

作者: Far_well | 来源:发表于2020-04-28 15:34 被阅读0次

一. 理解

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

二. 新建Repository

  1. 创建本地仓库
git init #git 初始化 
git add . #添加所有文件到暂存区
git commit -m "content" #添加备注提交本地仓库
git remote add origin http://url.git # 添加远程仓库路径
git push -u origin master #push 代码到远程仓库

git push remote [remote][branch] #上面两行代码的合并

2.复制远程仓库

git clone [url]

三. 配置

git config --list #显示所有Git配置
git config --global user.name "username"
git config --global user.email "email address"

四. 需要记住的

git add . 
git commit -m "content"
git branch #列出所有本地分支
git branch -r #列出所有远程分支
git branch -a #列出所有本地和远程分支
git branch [分支名字] #新建分支
git checkout [分支名字] #切换到指定分支
git merge [分支名字] #合并指定分支到当前分支
git status #显示有变更的文件
git log #显示当前分支的版本历史
git diff #显示暂存区和工作区的代码差异
git checkout [file] #恢复暂存区的指定文件到工作区
git checkout .       #恢复暂存区的所有文件到工作区
git reset --hard [commit]     #让工作区回到上次commit的状态,同时重置暂存区和工作区,回滚到某个版本,该版本之后的所有代码丢失,慎用!
**这是错误的理解**
git revert #未完

20191107

五.版本回退

  1. git status 命令查看仓库当前的状态,若无修改则显示working tree clean.否则显示哪些文件修改了但是没有准备提交的修改
  2. git diff [filename]从git status中看出[filename]已修改但未提交,通过diff命令可以看到具体修改的内容,重要:比较的是工作区和暂存区的文件;git diff HEAD -- [filename]比较工作区和本地版本库的最新版本
  3. git log 显示从最近到最远的提交日志。
    git log --pretty = oneline 简洁显示,开头的id为提交的唯一标识
  4. git reset --hard [commitid] 从git log 可以看到每次提及的commit id ,通过git reset可以将版本还原到指定版本。
    在当前窗口未关闭的情况下,再次使用该命令将版本还原到最新的版本,只需要有commit id commit id 可只写前几位
  5. git reflog 当还原到历史某一个版本时,想恢复到最新版本时, 可以使用该命令获取所有历史的操作,则可以找到最新版本的commit id并还原。
  6. 工作区(Working Directory) 即为电脑中项目所在文件夹就是一个工作区
  7. 版本库(Repository) 工作区有个隐藏的目录.git, 这个不算工作区而是Git的版本库
    Git版本库中存了很多东西,其中最重要的为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及只想master的一个指针叫HEAD

git add 将文件提交到暂存区
git commit 提交更改,生成commit id 将暂存区的内容提交到本地仓库
git push 将本地仓库的内容推送到远程库中

  1. git checkout --filename 将file文件在工作区的修改全部撤销;两种情况:1).文件自修改后还没放到暂存区(未add),现在撤销就是回到版和版本库一样的状态;2).文件提交添加(add)到暂存区,又作了修改,现在撤销就回到添加到暂存区后的状态;
    总之,就是让文件回到最一次的git commit 或git add 的状态
    此处filename 不能缺,否则就是切换分支的命令

  2. git reset HEAD <file> 可以把暂存区的修改撤销掉(unstage),重新放回工作区

相关文章

网友评论

      本文标题:2017-12-30 Git使用

      本文链接:https://www.haomeiwen.com/subject/wdawmftx.html