安装和配置:
1、官网下载安装git即可
2、因为是分布式版本控制,需要自报家门,设置全局的用户信息。
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
工作区:用户的工作目录,即用户看到的东西。
暂存区:.git/index 文件,git add后即添加到这里。
版本库:git commit提交的在这里,即.git/ 目录下的东西。
版本控制的大致流程:
1、初始本地仓库:git init
2、添加文件:git add abc.txt,添加文件夹:git add dir,添加全部文件:git add .
3、提交:git commit -m "这是提交说明"
4、远程也创建一个对应仓库,例如在github或者gitee上面创建仓库
5、把本地仓库和远程仓库关联,例如Gitee:git remote add origin git@gitee.com:dwaylin/Test.git
6、把本地分支push到远程分支:git push -u origin master
7、如果第一次push时,远程仓库存在一些没必要的文件导致push失败,可以强推:git push -f origin master,注意会把远程仓库多余的东西删掉。
8、之后就可以正常的push了:git push origin master
其他git命令:
1、git status:查看状态
2、git log:查看提交历史
3、git reset --hard HEAD^:回退到上一个版本,HEAD指当前版本,如果是上上个版本可以HEAD^^
4、git reset --hard commit_id:也可以指定回退到版本号为commmit_id的版本
5、git branch:查看分支
6、git branch <name>:创建分支
7、git checkout <name>:切换分支
8、git checkout -b <name>:创建并切换分支
9、git reflog:查看命令历史
10、git clone git@gitee.com:dwaylin/Test.git E:/GitProjects/Test:将仓库克隆到本地的指定路径中
克隆指定分支:git clone -b dev 代码仓库地址 (dev是分支名称)
11、git tag v1.0:将标签打到最近一次commit上
12、git tag -d v1.0:删除标签
13、git tag:查看所有标签
14、git push origin v1.0:把标签push到远程,创建的标签只存储在本地,不会自动推送到远程
15、git push origin --tags:将全部的标签都推送到远程
16、git config --list:查看git配置信息
17、git config --global user.name dwaylin:配置git用户名
18、git config --global user.email xxx@163.com:配置git用户邮箱
19、git checkout .:如果工作区删了文件,还未git add,那么可以撤销回来。如果撤销某个文件git checkout -- <file>...
20、git reset HEAD .:撤销暂存区,即已经git add,但是还未commit,可以撤销回来。如果撤销某个文件git reset HEAD <file>...
21、切换远程仓库地址:
方法1:直接修改远程仓库地址
git remote set-url origin git@gitee.com:dwaylin/Test.git
方法2、先删除远程仓库地址,再重新添加
git remote rm origin
git remote add origin git@gitee.com:dwaylin/Test.git
22、一次push或pull所有分支
git push origin --all
git pull origin --all
23、删除本地分支dev
git branch -d dev
24、删除远程分支dev
git push origin --delete dev
25、修改commit message
git commit --amend 命令后输入 i 进入输入模式
修改message后,Esc退出输入模式,再 :wq 回车保存并退出即可。
26、合并分支,将开发完成的dev分支合并到master分支
git checkout master
git merge dev
27、生成补丁
git format-patch HEAD^ 最后一次提交的补丁
git format-patch HEAD^^ 最后两次提交的补丁,^可以有很多个
以上等同于:
git format-patch -1
git format-patch -2
28、打补丁
git apply --check 0001-add-ccc.txt-file.patch 检测补丁是否有冲突
git apply 0001-add-ccc.txt-file.patch 打补丁
29、更改 .gitignore
如果已经跟踪了不需要的文件则需要先把文件移除,否则会发现gitignore新增加的内容无效。
移除文件:git rm --cached abc.txt
移除文件夹(-r表示递归):git rm -r --cached dir
之后再根据实际需要进行git add,git commit
待续...