git 使用方法参考网址:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 //廖雪峰的git 教程
https://www.cnblogs.com/joyho/articles/4062574.html //博客园
$ git config --global user.name “Your Name” // 设置(重置)用户名
$ git config --global user.email "email@example.com"// 设置(重置)邮箱
git diff 查看修改内容
git log 查看当前日志信息(查看版本id)
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD~n 回退n个版本
git reset --hard ea1234(提交版本的id) 跳转到某个版本
git reflog 查看版本号(关掉git界面也能看)
git checkout – readme.txt 撤销修改
git reset HEAD readme.txt 撤销暂存
rm 删除某个文件(从工作区)
git rm 确认删除(从版本库) //删除完成以后要再次提交
//关联到github 远程仓库
git remote add origin git@github.com:huchongLin/status.git(github SSH)
git push -u origin master //推送到远程仓库
公钥、私钥
1 、输入ssh-keygen -t rsa -C "youremail@example.com"
ssh-keygen 生成 公钥和私钥 如下图
2、上图提示要求输入将要生成的秘钥文件的路径,可以不输入,直接按enter保存在默认路径。这里,我直接按下enter。如下图所示
3、按照提示需要输入两次密码,这里输入密码时是不会有任何的光标提示的,也就是说光标会一直停在那里不会出现任何字符或者移动,直至输完密码按下enter才有下一步的提示。如下图所示:
4、输完第二次密码后,按下enter出现下图所示:(这里提示已经生成秘钥以及秘钥的路径)
5、此时打开C:\Users\Administrator目录,会看到.ssh的文件()。这是存放秘钥的文件,打开这个文件会看到有两个文件,分别是id_rsa和id_rsa.pub。id_rsa是私钥文件,id_rsa.pub是公钥文件。路径(C:\Users\Administrator.ssh
)
最后一步 使用笔记本打开 id_rsa.pub 文件, 全选内容黏贴到github 的 新建SSH密钥里面
//多人协作开发
组内人员的公钥 同理添加 到此处即可 (此公钥不能添加已被添加的,如果他自己已经添加到他的github里面,删除掉即可)
推送到github
//关联到github 远程仓库
git remote add origin git@github.com:huchongLin/status.git (github 地址)
git push -u origin master //推送到远程仓库 (master:代表要推送到的分支
origin 默认远程仓库)
git remote -v //查看远程仓库
//从远程仓库克隆
git clone git@github.com:huchongLin/status.git (要克隆的github地址)
分支管理
git branch dev 创建一个 叫做dev 分支(可以创建任意名字的分支——此处专门为同桌注释)
git branch 查看分支
git checkout dev 切换分支到dev(dev可以为任意已经有的分支——此处专门为同桌注释)
git checkout -b hcl 创建并切换到hcl 分支上(hcl… 同桌,,这里不用注释了吧)
合并分支
再dev 工作完成后 切换到 master上 然后用:
git merge dev 合并分支, 此方法用于合并指定分支到当前分支
git branch -d dev 删除dev这个分支 (可以先用 git branch 查看 有哪些分支)
标签管理
在Git中打标签非常简单,首先,切换到需要打标签的分支上:
$ git branch
- dev
master$ git checkout masterSwitched to branch ‘master’
然后,敲命令git tag 就可以打一个新标签:
$ git tag v1.0
可以用命令git tag查看所有标签:
$ git tag
v1.0
默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
方法是找到历史提交的commit id,然后打上就可以了:
$ git log --pretty=oneline --abbrev-commit12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 1014c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed5dc6824 & simple14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt519219b git tracks changes
e43a48b understand how stage works1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file
比方说要对add merge这次提交打标签,它对应的commit id是f52c633,敲入命令:
$ git tag
v0.9
v1.0
注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息:
$ git show v0.9commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)
Author: Michael Liao askxuefeng@gmail.comDate: Fri May 18 21:56:54 2018 +0800
add merge
diff --git a/readme.txt b/readme.txt
可以看到,v0.9确实打在add merge这次提交上。
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
$ git tag -a v0.1 -m “version 0.1 released” 1094adb
用命令git show 可以看到说明文字:
$ git show v0.1
tag v0.1
Tagger: Michael Liao askxuefeng@gmail.com
Date: Fri May 18 22:48:43 2018 +0800
version 0.1 released
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (tag: v0.1)
Author: Michael Liao askxuefeng@gmail.com
Date: Fri May 18 21:06:15 2018 +0800
append GPL
diff --git a/readme.txt b/readme.txt
注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
小结:
命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a -m "blablabla…"可以指定标签信息;
命令git tag可以查看所有标签。
操作标签
如果标签打错了,也可以删除:
$ git tag -d v0.1Deleted tag ‘v0.1’ (was f15b0dd)
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
如果要推送某个标签到远程,使用命令git push origin :
$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To github.com:michaelliao/learngit.git
- [new tag] v1.0 -> v1.0
或者,一次性推送全部尚未推送到远程的本地标签:
$ git push origin --tagsTotal 0 (delta 0), reused 0 (delta 0)To github.com:michaelliao/learngit.git - [new tag] v0.9 -> v0.9
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
$ git tag -d v0.9Deleted tag ‘v0.9’ (was f52c633)
然后,从远程删除。删除命令也是push,但是格式如下:
$ git push origin :refs/tags/v0.9To github.com:michaelliao/learngit.git
- [deleted] v0.9
要看看是否真的从远程库删除了标签,可以登陆GitHub查看。
操作标签
阅读: 188570
如果标签打错了,也可以删除:
$ git tag -d v0.1Deleted tag ‘v0.1’ (was f15b0dd)
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
如果要推送某个标签到远程,使用命令git push origin :
$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To github.com:michaelliao/learngit.git
- [new tag] v1.0 -> v1.0
或者,一次性推送全部尚未推送到远程的本地标签:
$ git push origin --tagsTotal 0 (delta 0), reused 0 (delta 0)To github.com:michaelliao/learngit.git - [new tag] v0.9 -> v0.9
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
$ git tag -d v0.9Deleted tag ‘v0.9’ (was f52c633)
然后,从远程删除。删除命令也是push,但是格式如下:
$ git push origin :refs/tags/v0.9To github.com:michaelliao/learngit.git
- [deleted] v0.9
要看看是否真的从远程库删除了标签,可以登陆GitHub查看。
小结:
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
在这里插入代码片