入门:在使用git中遇到的常用命令行及知识点
1.登入
git config --global user.name "" //全局变量,在此地址上提交即显示此name
git confin --global user.email ""
username root
useremail 594853442@qq.com
2.git init建仓库
3.添加文件到仓库
git add 文件名 //把文件提交到暂存区
git commit -m "提交说明信息" //告诉git把文件提交到版本库,可以一次提交很多文件
4.查看状态
git status //查看当前状态
git diff //查看修改信息
修改后需要add、commit提交
5.查看历史记录
git log //显示从最近到之前的提交日志,加参数使显示信息整洁(--pretty=oneline)
6.回退版本
//HEAD为当前版本,HEAD^为上一个版本,^^类似HEAD~2
git reset --hard HEAD^ //回退到上一个版本
//commit id 为一串hash字符
git reset --hard [commit id(不必写全)]
7.查看每一次命令
git reflog //查看之前的操作
8.删除命令
git rm 文件名 //删除命令
//status查看后,如果是红的的操作,需要添加到暂存区再提交,如果是绿色,可直接commit提交
git commit //提交
9.远程项目别名
git remote add [项目别名] [项目地址] //添加别名
git remote remove [别名] //删除别名
git remote -v //查看远程库详细信息
git push [别名] [分支名] //将项目推到远程
git clone [远程项目地址] //将项目文件拉到本地
//在本地更改后->add->commit->push到远程
10.生成公钥和私钥
在git bash中输入 ssh-keygen -t rsa -C "邮箱地址"
然后在相应目录下找到.ssh\id_rsa.pub,复制内容后粘贴到个人设置->公钥中即可
11.团队合作
//在远程项目管理中添加成员,新成员需要初始化
git clone [远程地址] //新成员操作,之后可进行对文件夹的操作,最后push到远程
git pull [项目名] //将项目从远程拉回来
12.取消本地目录与远程的关联
git remote remove [远程项目地址]
13.查看日志文件
git log //非简略版
git log --pretty=oneline //简略版显示 q退出此文件
14.分支操作
//创建分支相当于添加一个新的指针指向当前主分支,head指向新建分支
(1)git branch //查看分支
(2)git branch [分支名] //创建分支,通过不同分支可以完成多个方面的工作同时开展,而不互相影响
(3)git checkout [分支名] //切换分支,
(4)2、3条合起来操作相当于 git checkout -b [分支名] //创建并切换分支
(5)git merge [分支名] //在主分支上面完成分支的合并
(6)//当不同分支出现冲突时,会提示conflicts,或者在git status查看冲突的文件,
//在文件中,git用<<<<<[HEAD]....======.....>>>>>>来标记出不同分支的内容
//git无法自动解决冲突时,需手动修改后进行保存
git log --graph --pretty=oneline --abbrev-commit //查看分支的合并情况
git log --graph //查看分支合并图
默认合并分支为fast forward(快速合并),
(7)git branch -b [分支名] //删除分支
(8)git merge --no--ff -m "备注内容" [分支名] //禁用fast forword,并创建新的commit,一并添加备注信息
//合并后的历史中有分支,能看出是否发生合并。
(9)git stash //暂存工作现场
git stash list //查看暂存工作
git stash apply [stash@{number}] //恢复[第number个]暂存工作
git stash drop //删除暂存工作
git stash pop //恢复并删除
(10)git branch -D [分支名] //删除未合并分支
(11)抓取他人(或在另一台电脑上抓取)分支,需把SSH Key公钥添加到添加到远程
git clone 远程地址-->git checkout -b [分支名] 地址/分支名
//此方法推送本地分支前需要先指定本地分支与远程分支之间的链接,当远程比自己本地更新时需先pull再合并,然后push。
git branch --set-upstream 本地分支名 远程地址(或别名)/分支名 //建立本地分支与远程分支的联系
15.标签管理
(1)标签为指向commit的指针,在本次操作的分支上创建指向此分支的标签
git tag [name] //创建标签
git tag //查看所有标签,标签列表默认按字母排序
git show [tagname] //查看标签信息
git tag [name] commit-id //对某次操作打标签
git tag -a tagname -d "说明信息" commitid
git tag -s tagname //通过私钥对标签进行签名(需安装gpg【GunPG】)
git tag -d tagname //删除标签(创建的标签只存储在本地,不会影响远程)
git push origin [tagname] //将标签推送到远程
git push origin --tags //将所有标签推送到远程
//删除远程标签需要先在本地删除,再用 git push origin :refs/tags/tagname 删除远程标签