git从入门到放弃

一. 文件版本管理历史

 传统版本管理, svn ,git

二.git基本原理

 

                                      这个图右侧,一般直接pull 命令执行后, 效果是远程代码直接提交到本地仓库的(工作区间也更新了),只有需要解决冲突时才到工作区间让手动解决冲突再提交

三.git 常用命令和实际使用演练

 git配置 记住登陆用户密码,配置ssh方式登陆,配置username mail地址

.gitignore 文件

git命令缩写

  • git init //初始化本地git环境
  • git clone XXX//克隆一份代码到本地仓库
  • git pull //把远程库的代码更新到工作台
  • git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面
  • git fetch //把远程库的代码更新到本地库
  • git add . //把本地的修改加到stage中
  • git commit -m 'comments here' //把stage中的修改提交到本地库
  • git push //把本地库的修改提交到远程库中
  • git branch -r/-a //查看远程分支/全部分支
  • git checkout master/branch //切换到某个分支
  • git checkout -b test //新建test分支
  • git checkout -d test //删除test分支
  • git merge master //假设当前在test分支上面,把master分支上的修改同步到test分支上
  • git merge tool //调用merge工具
  • git stash //把未完成的修改缓存到栈容器中
  • git stash list //查看所有的缓存
  • git stash pop //恢复本地分支到缓存状态
  • git blame someFile //查看某个文件的每一行的修改记录()谁在什么时候修改的)
  • git status //查看当前分支有哪些修改
  • git log //查看当前分支上面的日志信息
  • git diff //查看当前没有add的内容
  • git diff --cache //查看已经add但是没有commit的内容
  • git diff HEAD //上面两个内容的合并
  • git reset --hard HEAD //撤销本地修改
  1. git add .
  2. git stash :保存当前工作区和暂存区的修改。
  3. git checkout bugFixBranch
  4. git pull --rebase origin master
  5. fix the bug
  6. git add .
  7. git commit -m ''
  8. git push
  9. git checkout test
  10. git stash pop

 git push origin --delete Chapater6   可以删除远程分支Chapater6   

 可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard  commitid 

git checkout -- filepathname (比如: git checkout -- readme.md  ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout .  命令。

 * git revert HEAD                  撤销前一次 commit
    * git revert HEAD^               撤销前前一次 commit
    * git revert commitId (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本

四.深入理解git

工作区,暂存区 ,

 

五.git源码

 略

 附录: 从零开始使用git步骤 

本地新建git工程,然后上传到远端

按照GitHub的提示一步步来实现:

    1. 先cd到你要上传代码的目录(一定是空文件夹,可以用命令行直接创建一个新文件夹 mkdir 文件名).
      cd /Users/xxx/Desktop/xxxx/xxxx/Test
    2. 添加一个自述文件README.md
      touch README.md
    3. 初始化仓库,成功会有提示
      git init
      Initialized empty Git repository in ......
    4. 添加 自述文件README.md,我这个时候把自己的代码也放到Test这个文件夹下面了.
      git add README.md (添加单个目录)
      git add . (. 这里是添加整个目录)
    5. 提交到本地
      git commit -m "Initial commit"
    6. 输入你要提交的git地址,直接粘过来
      git remote add origin https://github.com/weidongfei/Test.git
    7. 最后push到网上git仓库中 ~
      git push -u origin master

思考解决场景:

实际提交代码,并merge,解决冲突

实际提交代码,并rebase,解决冲突

remote分支被删除

撤销本地未commit修改

撤销本地已经commit 但未push修改

原文地址:https://www.cnblogs.com/thinkqin/p/9965847.html