github与git常用的一些基本配置与命令

首次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 (黑色是自己github账户名)

git push -u origin master 把本地库的所有内容推送到远程库上,由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的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

 

posted @ 2017-10-18 23:20  蓝色帅-橙子哥  阅读(434)  评论(0编辑  收藏  举报