首次Git设置:
ssh-keygen -t ras -C "email@xxx"生成SSH (共钥)将生成的SSH key复制到文本框中即可(title默认为邮箱名)
你的身份(只需执行一次,因为Git将始终将该信息用于在该系统上执行的任何操作)
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
检查您的设置
git config --list命令列出Git在此时可以找到的所有设置
git help config
新建本地仓库步骤:(这么通俗易懂看不懂我也没办法帮你了!!)
cd c:/d:/e:/f:/g:进入对应的磁盘
mkdir gitTest
cd gitTest
git init 初始化仓库(意思就是,初始化之后,这个目录里面的文件就能用Git进行各种管理了)
在此空间上新建一个test.text(名字随意)文档里面随便写点东西
git add test.text提交新建好的TXT文件
git commit -m
git remote add origin git@github.com:1079161148/lhl.git
git push -u origin master
推送成功后,在github页面上刷新,可以看到GitHub页面的内容已经和本地一模一样,而且从现在起,只要本地作了提交,就可以通过命令"git push origin master"把本地master分支的最新修改推送至GitHub。
--------------------------------------------------------------------------------------------------------------------
登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库!!!
--------------------------------------------------------------------------------------------------------------------
git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch dev
git checkout dev
然后,用git branch命令查看当前分支
git branch命令会列出所有分支,当前分支前面会标一个*号。
然后,我们就可以在dev分支上正常提交,比如对readme.txt做个修改,加上一行:
Creating a new branch is quick.
然后提交:
git add readme.txt
git commit -m "branch test"
dev分支的工作完成,我们就可以切换回master分支:git checkout master
现在,我们把dev分支的工作成果合并到master分支上:git merge dev注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。
当然,也不是每次合并都能Fast-forward!!!
合并完成后,就可以放心地删除dev分支了:git branch -d dev
删除后,查看branch,就只剩下master分支了:git branch
假如在新分支开dev开发 修改内容提交,然后再切换到master分支中修改内容提交(简单理解为主分支和分支同时工作)
这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改下保存
用带参数的git log也可以看到分支的合并情况:git log --graph --pretty=oneline --abbrev-commit
最后,删除dev分支:git branch -d dev
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
要查看远程库的信息,用git remote
git push origin master
如果要推送其他分支,比如dev,就改成:git push origin dev
但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
git checkout -- 文件名( src/pages/messageList.vue)放弃本地修改、
总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定!
git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数
我们要把当前版本“append GPL”回退到上一个版本“add distributed”,就可以使用git reset命令:git reset --hard HEAD^
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL所以你让HEAD指向哪个版本号,你就把当前版本定位在哪
在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到append GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:git reflog