Git

Git基本指令

$ git init /创建版本库
$ git add  //文件修改添加到暂存区
$ git commit -m “commit description” // 把暂存区的所有内容提交到当前分支。

Git版本管理

$ git status //查看仓库当前状态
$ git diff filename.suffix //查看文件被修改内容
$ git log // 查看版本更改历史记录
$ git reflog // 查看命令历史记录
$ git reset --hard HEAD^ // 回退到上一个版本
$ git reset --hard HEAD^^ // 回退到上上一个版本
$ git reset --hard 3628164 //3628164 is commit id
$ git update-index --skip-worktree [file]  //当本地改动无须同步到远程服务器时
$ git update-index --assume-unchanged [file] // 假定开发人员不会更改文件,此标记旨在为无变化文件夹(如 SDK)改善性能。
  • HEAD指向的版本就是当前分支的当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

Git仓库修改

$ git checkout -- readme.md //撤销文件在工作区的修改
$ git reset HEAD readme.md //撤销文件在暂存区的修改
$ git reset --hard HEAD^ //撤销文件在版本库的修改
$ git rm readme.md //删除版本库中的文件
$ git commit -m "remove readme.md"
  • 就是你在电脑里能看到的目录
  • 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
  • Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。


    Git_第1张图片

Git分支管理

$ git branch  dev // 创建分支dev
$ git branch  dir/branch // 创建带目录的分支
$ git checkout dev // 切换分支到dev
$ git checkout -b dev // 创建并切换到dev

$ git branch // 查看当前分支
$ git branch -a // 查看远程分支

$ git merge dev // 合并指定分支到当前分支
$ git status //  如分支冲突时,可以查询冲突文件
$ git log --graph --pretty=online --abbrev-commit//查看分支合并情况

$ git branch -d dev // 删除分支dev
$ git push origin --delete  //删除远程分支
$ git push origin : //删除远程分支
$ git push origin --delete tag   //删除远程tag
$ git tag -d 
$ git push origin :refs/tags/ //删除远程tag

Git远程仓库

$ ssh-keygen -t rsa -C "[email protected]" // 创建SSH Key
$ git remote add origin [email protected]:jerkwisdom/learngit.git //关联远程仓库
$ git remote rm origin //清空远程仓库
$ git push -u origin master // 第一次推送内容到远程仓库
$ git push origin master // 后续推送内容到远程仓库
$ git clone [email protected]:JerkWisdom/Test.git // 从远程库克隆

Git相关名词

  • HEAD指向当前分支的当前版本,HEAD^指向当前分支的上一个版本,以此类推。
  • master为仓库的主分支
  • origin为远程仓库

Git换行符自动转换

1、在.gitignore相同目录下增加 .gitattribute 文件
2、在其中输入 * text eol=lf (UNIX) or * text eol=crlf (Windows)
3、提交代码到git上


欢迎访问我的个人博客click me

你可能感兴趣的:(Git)