初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
第一步,使用命令git add . ,注意,可反复多次使用,添加多个文件;
第二步,使用命令git commit -m "修改的内容详细注释",完成
git status 查看当前仓库的状态
git diff + 文件名 查看修改文件的内容
git log 查看提交的版本信息以及修改的内容
Git回退版本
git refolg 记录每一次命令
git reset --head 这里是上面的有颜色的数字 回退到某个版本信息
Git撤销修改
1>没有添加到缓存区
git checkout -- file 可以丢弃工作区的修改
其中 -- 很重要,没有的话,就变成"切换到另一个分支" 命令
2>添加到缓存区
git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区
之后file回到缓存区
Git删除文件
git rm file 删除文件
git checkout -- file 找回删除文件
创建远程仓库
1.创建SSH Key
$ ssh-keygen -t rsa -C"youremail@example.com"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2.登陆GitHub,打开“Account settings”,“SSH Keys”页面
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
Git push本地代码去远程仓库
git remote add origin 这里是你自己的远程仓库
接下来 git push -u origin master
注意 首次推动的时候加上 -u 可以把本地代码和远程代码关联起来,使远程和本地代码同步
之后每次提交代码的时候就是 git push origin master
Git从远程仓库中pull代码
git clone 远程仓库地址
git 支持多种协议 包括https 但是通过ssh支持速度快
Git创建和合并分支
例:创建dev分支
git checkout -b dev 创建分支并切换到dev
git branch dev 创建分支
git checkout dev 切换分支
git branch 查看git中的所有分支
git merge dev 合并某分支工作到当前分支中 此时路径在主分支中
git branch -d dev 删除分支
Git解决冲突
git log --graph 命令可以看到分支合并图
Git分支管理策略
dev分支合并时,使用参数 --no-ff参数 表示禁用Fast forward
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
Bug分支
git stash 可以隐藏当前的工作分支
git stash list 查看工作列表
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了
Git其他命令
git branch -D file 强行删除
多人协作
git checkout -b dev origin/dev 拉取远程分支中的本地分支
git branch--set-upstream dev origin/dev 创建本地和远程分支的链接
git remote -v 获取远程库信息
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
Git创建标签
git tag <name> 创建标签 默认为HEAD
git tag -a <tagname> -m <描述文件> 指定标签信息
git tag -s <tagname> -m <描述文件> 可以使用PGP签名标签
git tag 可以查看所有标签
git tag -d <tagname>删除标签
Git操作标签
git push origin <tagname> 推送标签到远程
git push origin --tags 推送全部本地的标签去远程仓库
删除远程标签 首先删除本地标签
git tag -d -v0.9 删除本地仓库
git push origin :refs/tags/v0.9 删除远程仓库
Git忽略特殊文件
在git工作区创建一个特殊的.gitignore文件 填入要忽略的文件名
网友评论