版本控制之git使用

准备

git安装

1、点击进入官网下载,选择系统对应版本。

2、安装(win 版本安装完成后在桌面或文件夹下右键菜单中多出 git bash here 则说明安装成功)。 

基本命令

 git init :初始化当前目录,它的作用是让 git 能够检测到当前文件夹下(包括子文件夹)的文件状态。

 git status :查看当前目录下所有文件状态。

 git add 文件名 :标识将要提交保存哪些文件,将文件从修改过的状态更改为暂存状态。

 git commit -m 注释内容 文件名 :将暂存状态的文件保存到本地版本库。

 git -log :查看当前版本之前(包含当前版本)的提交历史记录。

 git reset --hard 版本号 :还原到指定版本初始状态。

 git reflog :查看所有提交记录。

 git checkout 文件名 :将修改过但未提交的文件还原到当前版本初始状态。

 git reset head 文件名 :将文件从暂存状态恢复到修改状态。

 git reset --soft 版本号 :将已提交的文件撤销到指定版本暂存状态。

 git reset --mix 版本号 :将已提交的文件撤销到指定版本修改状态。

 git commit -am 注释 :相当于执行了 git add . 和 git commit -m 注释 。

注:上述文件名可替换为'.',表示当前目录(包括子目录下)所有文件。

下面是上述操作的状态变换示意图:

进阶命令

暂存

 git stash :将当前的修改暂存到一个位置。

 git stash list :查看暂存记录。

 git stash pop :恢复之前暂存的内容。

 git stash clear :清空暂存记录。

 git stash apply 编号 :将指定编号内容恢复到工作区。

 git stash drop 编号 :将指定编号记录删除。

分支与合并

 git branch :查看所有分支。

 git branch 分支名称 :创建一个分支。

 git checkout 分支名称 :切换到指定分支。

 git branch -m 分支名称 :创建并切换到分支。

 git branch -d 分支名称 :删除指定分支。

 git merge 分支名称 :将指定分支合并到当前分支。

同步到github

 git remote add origin 仓库地址 :将当前版本关联上github的对应仓库。

 git push origin 仓库中分支名称 :将当前版本上传到github仓库的对应分支,没有则自动创建。

 git clone 仓库地址 :将仓库中的内容拷贝到当前工作区,默认拷贝master分支。

 git pull origin 仓库中分支名称 :将仓库中指定分支内容拷贝到当前工作区。

 git fetch origin 仓库中分支名称 :将仓库中指定分支内容拷贝到本地版本库。

 git merge origin/分支名称 :一般和上面的 fetch 命令搭配使用,这里的分支名称就是 fetch 到版本库的仓库中分支名称,这两部相当于 pull 操作。

 git rebase origin/分支名称 :同 merge 一样是合并,但是记录不会产生分叉,保持提交记录的整洁。

创建版本

    git tag -a v1.0 -m '版本介绍'        本地创建Tag
    git show v1.0                       查看
    git tags -n                         查看本地Tag
    git tag -l 'v1.4.2.*'               查看本地Tag,模糊匹配
    git tag -d v1.0                     删除Tag
    git push origin :refs/tags/v0.2     更新远程tag
    git checkout v.10                   切换tag
    git fetch origin tag V1.2

    git push origin  --tags
    git pull origin  --tags
    
    git clone -b v0.1

多人协同开发

添加合作者

添加成功后添加的合作者就可以修改自己仓库代码了。

创建组

创建成功后也可以邀请合作者:

为别人代码贡献力量

先将别人的仓库 Fork 到自己的组。

修改后可以通过 New Pull Request 提交自己的修改。

补充

反复输入用户名密码解决

方法一:执行 remote 命令时将用户名密码放入 URL。

git remote add origin https://用户名:密码@/仓库地址

 方法二:SSH

ssh-keygen  // 生成公钥私钥

进入提示中秘钥保存的目录:

id_rsa 是私钥, id_rsa.pub 是公钥。

进入 github 中的 Settings 栏:

再选中 SSH and GPG keys 栏:

点击 New SSH Key ,将生成的公钥内容复制,Title 随意:

点击 Add SSH key 保存,之后向 github 提交内容就不会提示重新输入用户名密码了。

push时忽略某些文件

在工作区目录下创建名为 .ignore 的文件,内容自定制,如: *.sql 就是不提交 sql 后缀的文件。内容基本规则如下:

 以斜杠“/”开头表示目录;

 以星号“*”通配多个字符;

 以问号“?”通配单个字符

 以方括号“[]”包含单个字符的匹配列表;

 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

其实在创建仓库时 github 已经为我们提供了各类仓库的忽略文件,基本上能满足我们大部分情况,如:

直接根据情况选中使用即可。

posted @ 2018-12-04 11:28  zze  阅读(206)  评论(0)    收藏  举报