winney

It is never too old to learn.

0%
winney

Git-笔记

在Git安装目录下,可以查看相关命令的使用(help)

1
Git/mingw64/share/doc/git-doc/

正确的github工作流

提交到远程仓库报错

1
2
3
4
5
OpenSSL SSL_connect: Connection was reset in connection to github.com:443



OpenSSL SSL_connect: Connection was reset in connection to github.com:403

解决方法,将.git/config:

1
2
[remote "origin"]
url = https://github.com/winney07/winney07.github.io.git

改为:

1
2
[remote "origin"]
url = git@github.com:winney07/winney07.github.io.git

Github创建仓库

Github创建仓库

Git常用命令速查表

创建版本库

  1. 克隆远程版本库

    1
    git clone <url>
  2. 初始化本地版本库

    1
    git init

    修改和提交

  3. 查看状态

    1
    git status
  4. 查看变更内容

    1
    git diff
  5. 跟踪所有改动过的文件

    1
    git add .
  6. 跟踪指定的文件

    1
    git add <file>
  7. 文件改名

    1
    git mv <old> <new>
  8. 删除文件

    1
    git rm <file>
  9. 停止跟踪文件但不删除

    1
    git rm --cached <file>
  10. 提交所有更新过的文件

    1
    git commit -m "commit message"
  11. 修改最后一次提交

    1
    git commit --amend

查看提交历史

  1. 查看提交历史

    1
    git log
  2. 查看指定文件的提交历史

    1
    git log -p <file>
  3. 以列表方式查看指定文件的提交历史

    1
    git blame <file>

撤销

  1. 撤销工作目录中所有未提交文件的修改内容

    1
    git reset --hard HEAD
  2. 撤销指定的未提交文件的修改内容

    1
    git checkout HEAD <file>
  3. 撤销指定的提交

    1
    git revert <commit>

分支与标签

  1. 显示所有本地分支

    1
    git branch
  2. 切换到指定分支或标签

    1
    git checkout <branch/tag>
  3. 创建新分支

    1
    git branch <new-branch>
  4. 删除本地分支

    1
    git branch -d <branch>
  5. 列出所有本地标签

    1
    git tag
  6. 给予最新提交创建标签

    1
    git tag <tagname>
  7. 删除标签

    1
    git tag -d <tagname>

合并与衍合

  1. 合并指定分支到当前分支

    1
    git merge <branch>
  2. 衍合指定分支到当前分支

    1
    git rebase <branch>

远程操作

  1. 查看远程版本库信息

    1
    git remote -v
  1. 查看指定远程版本库信息

    1
    git remote show <remote>
  1. 添加远程版本库

    1
    git remote add <remote> <url>
  1. 从远程库获取代码

    1
    git fetch <remote>
  1. 下载代码及快速合并

    1
    git pull <remote> <branch>
  1. 上传代码及快速合并

    1
    git push <remote> <branch>
  1. 删除远程分支或标签

    1
    git pull <remote> : <branch/tag-name>
  1. 上传所有标签

    1
    git push --tags

管理分支

1、查看本地分支

使用 git branch命令,如下:

1
2
$ git branch
* master

*标识的是你当前所在的分支。

2、查看远程分支

命令如下:

1
git branch -r

3、查看所有分支

命令如下:

1
git branch -a

2、本地创建新的分支

命令如下:

1
git branch [branch name]

例如:

1
git branch save

3、切换到新的分支

命令如下:

1
git checkout [branch name]

例如:

1
$ git checkout save

4、创建+切换分支

创建分支的同时切换到该分支上,命令如下:

1
git checkout -b [branch name]

git checkout -b [branch name] 的效果相当于以下两步操作:

1
2
git branch [branch name]
git checkout [branch name]

5、将新分支推送到github

命令如下:

1
git push origin [branch name]

例如:

1
git push origin save

6、删除本地分支

命令如下:

1
git branch -d [branch name]

例如:

1
git branch -d save

7、删除github远程分支

命令如下:

1
git push origin :[branch name]

分支名前的冒号代表删除。
例如:

git push origin :save

查看配置信息

1
git config --list

查看状态

1
git status

提交工作区文件到暂存区

  1. 提交工作区中所有文件到暂存区

    1
    git add .
  2. 提交工作区中指定文件到暂存区

    1
    git add <file1> <file2> 
  3. 提交工作区中某个文件夹中所有文件到暂存区

    1
    git add [dir]

    提交到本地仓库

  4. 将暂存区中的文件提交到本地仓库中,即打上新版本

    1
    git commit -m "commit_info"
  5. 将所有已经使用git管理过的文件暂存后一并提交,跳过add到暂存区的过程

    1
    git commit -a -m “commit_info”
  6. 提交文件时,发现漏掉几个文件,或者注释写错了,可以撤销上一次提交

    1
    git commit --amend

    查看本地仓库关联的远程仓库

  7. 查看本地仓库关联的远程仓库

    1
    git remote
  8. 查看远程仓库的url地址

    1
    git remote -v

解决git pull后本地写的代码没了的问题

第一步:git reflog

第二步:git reset –hard HEAD@{n} (HEAD:为版本号,就前面那一串数字,n是你要回退到的引用位置)

1
git reset --hard 84ef223

创建分支,回退到某个版本

1
2
git branch pagination 96ba9b3
git branch 分支名称 版本号

如果为了测试原来的代码,将它回退到某个版本,但是为了不影响当前分支里面的内容,创建一个新的分支。 如果git branch 分支名称,不加版本号,会在当前版本下创建分支。 如果需要回退到某个版本,需要在创建分支的时候加上版本号。

如果要切换回原来的分支(master),要先对新创建的分支(pagination)的内容提交,这个提交只会提交到pagination分支里面,不会影响到master分支

提交:

1
2
git add .
git commit -m "复习"

切换:

1
git checkout master

解决pre -commit hook failed (add –no-verify)的问题

1
2
3
cd .git

rm hooks/pre-commit

git commit 不单保存了当前的版本号还保存了他的父版本号

查看命令:

1
git / git help

查看所有命令:

1
git help -a

向下翻页:F;向上翻页:B;退出:Q

查看使用手册:

1
git help -g

查看某个命令的详细使用:

如:

1
git help add

按Q可以退出

.git是做版本控制的,如果想去除,直接删了这个目录。

是隐藏文件,在mac 用open .git打开(在.git的上层目录)

config

这些提交会包含在git提交里面

查看config信息
1
git config --list
配置name和email
1
2
git config --global user.name 'winney'
git config --global user.email '...@..'
重置
1
git config --unset --global user.name
重新设置
1
git config --global user.name 'winney'
设置ui
1
git config --global color.ui true

这些配置会保存到一个.gitconfig文件里

1
cat ~/.gitconfig      // ~:代表当前用户的主目录

项目版本管理

初始化项目
1
2
3
mkdir 目录名
cd 目录名
git init // 生成.git目录 用于版本控制 git需要或生成的东西都会放这里面 进行跟踪

如果不想用git跟踪这个项目,可以把.git目录删除掉

查看.git目录

1
2
cd .git
ls

config目录:存储项目配置的信息

Mac系统,视图中查看.git目录

1
open .git     //  回到项目的根目录,执行这句

因在Mac系统中,看不到隐藏的目录

提交

1
git commit -m '备注信息'
1
git log       //  查看提交记录

Git基本工作流程

Git初始化及仓库创建和操作

Git管理远程仓库

Github Pages搭建网站

客户端提交软件

Sourcetree