(声明:本练习第二部分开始涉及远程仓库,注册GitHub账号,可以免费获得Git远程仓库,以此为操作对象)
关联远程库
git remote add origin git@server-name:path/repo-name.git:关联一个远程库
git push -u origin master:把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push origin master:第一次使用-u之后,以后的推送就用此命令
克隆远程库至本地
git clone git@github.com:YKishere/gitskills.git:克隆一个本地库
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
git checkout -b dev:git checkout命令加上-b参数表示创建并切换
git branch dev:创建dev分支
git checkout dev:切换到dev分支
git branch:查看当前分支
git merge dev:把dev分支的工作成果合并到master分支上(git merge 用于合并指定分支到当前分支)
git log --graph:查看分支合并图
修复bug
1.git status查看状态
2.git stash储藏工作现场
3.git checkout master切换到主线分支(假设本次bug在主线分支上)
4.git checkout -b issue-101创建解决bug的分支
5.git add readme.txt 修改bug
- git commit -m "fix bug 101"提交,至此解决bug
7.git checkout master切回主分支
8.git merge --no-ff -m "merged bug fix 101" issue-101合并
9.git branch -d issue-101删除解决bug的分支
10.git checkout dev / git status 切回工作分支,查看状态
11.git stash list返回工作现场
12.git stash pop恢复并stash内容
多人协作推送工作
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
标签操作:
git tag v1.0:Git中打标签
git tag:查看所有标签
默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,可以通过找到历史提交的commit id,然后打上:
git log --pretty=oneline --abbrev-commit查看commit历史
git tag v0.9 6224937打标签
git show v0.9:查看标签信息
git tag -a v0.1 -m "version 0.1 released" 3628164:创建带说明的标签
git show <tagname>:查看说明文字
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。