git config –-global user.name “你的名字”
git config –-global user.email “你的邮箱”
git config --list即可查看设置是否成功
这里的用户签名和用户邮箱与登录GitHub的账户没有关系
新建一个空文件夹,进入此文件夹后打开Git Bash Here
然后执行git init,执行成功后就已经完成初始化本地仓库
创建成功的.git文件夹是隐藏的,需要开启文件夹的显示隐藏文件
cd .git后执行ll -a即可查看.git初始化的文件
git status查看本地仓库状态
在文件中编写的代码即可工作区
git add 文件名,将文件添加至暂存区
git rm --cached 文件名,将文件从暂存区删除
git commit -m “版本信息” 文件名,将文件提交到本地仓库
git reflog,查看版本信息
git log,查看版本详细信息
git status查看文件状态 git add 文件名,将文件添加至暂存区
git commit -m “版本信息” 文件名,将文件提交到本地仓库
git reflog,查看版本想要回退的版本号
git reset --hard 版本号,即已回退至对应版本号的版本
Git切换版本,底层其实是移动HEAD指针
分支底层其实也是指针的引用
git branch 分支名,创建分支
git branch -v,查看分支
git checkout 分支名,切换分支
git merge 分支名,把指定的分支合并到当前分支上
将本地git仓库和远程仓库同步:git remote add origin ssh密钥
本地库的所有内容推送到远程库上:git push -u origin master
查看远程库信息:git remote -v
删除远程库:git remote rm (如:git remote rm origin)
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone 项目地址 命令克隆。
远程主机的更新,全部取回本地git fetch 远程主机名;
将远程仓库特定分支更新到本地git fetch 远程主机名 分支名
分支作用:假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人。
创建dev分支:git branch dev
切换分支:git checkout dev 或者 git switch master
创建并切换分支:git checkout -b dev (git checkout命令加上-b参数表示创建并切换) 或者 git switch -c dev
查看当前分支:git branch
把dev分支的工作成果合并到master分支上:git merge dev
注意:当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
删除dev分支(-D:强制删除):git branch -d dev
git merge –no-ff dev:合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
隐藏当前的工作区:git stash
查看被隐藏的工作区列表: git stash list
恢复被隐藏的工作区:git stash apply stash@{0}
删除被隐藏的工作区: git stash drop stash@{0}
恢复被隐藏的工作区同时删除:git stash pop stash@{0}
“复制”某次提交到当前分支:git cherry-pick commit的编号
抓取分支:
git clone https链接或者ssh密钥
从远程库clone时,默认情况下,只能看到本地的master分支。
如果要在dev分支上开发,就必须创建远程origin的dev分支到本地,命令如下:
git checkout -b dev origin/dev
推送分支时注意: 1). 首先,可以试图用git push origin 推送自己的修改;
2). 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3). 如果合并有冲突,则解决冲突,并在本地提交;
4). 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
5). 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream-to origin/。
对当前项目打一个标签:git tag v1.0
查看所有标签:git tag
给之前的提交版本打标签:
1). 先查询历史提交的commit id:git log –pretty=oneline –abbrev-commit
2). 再使用以下命令:git tag v0.9
查看标签信息:git show v1.0
指定标签信息:git tag -a -m “指定信息”
删除标签:git tag -d v1.0
推送某个标签到远程:git push origin v1.0
推送全部标签到远程:git push origin –tags
删除远程的标签(先删除本地的标签):git push origin :refs/tags/
有些git命令是真心不好记,比如:git log –pretty=oneline –abbrev-commit
因此,git提供了自定义给命令配置别名的方法
如:
1)、st就表示status:git config –global alias.st status
2)、git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit”
小结:
Git操作在开发中用的很普遍,学了些版本控制的东西,然后总结了一下Git的命令。其实Git的常用命令并不多,关键是容易忘, 需要一个自己一看就明白的整理,用起来才会得心应手。 本次的学习是花了两天的“空闲”时间,学习了一下廖雪峰老师的Git教程:https://www.liaoxuefeng.com/wiki/896043488029600/