版本控制之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 已经为我们提供了各类仓库的忽略文件,基本上能满足我们大部分情况,如:

直接根据情况选中使用即可。
Java博客目录 | Python博客目录 | C#博客目录

浙公网安备 33010602011771号