删除本地仓库
rm -rf .git
初始化一个仓库
git init
将文件添加到git仓库
git add
git commit -m “”
获取未入库文件详情
git status
查看修改内容
git diff
Git is a distributed version control system.
Git is free software distributed under the GPL.//测试
Git has a mutable index called stage.
Git tracks changes.
git rm test.txt
要关联一个远程库,使用:git remote add origin git@server-name:path/repo-name.git
eg:git remote add origin git@github.com:server-name/learngit.git
本地提交到远程库:
git push origin master 推送最新的修改
查看分支:
git branch
创建分支:
git branch
切换分支:
git checkout
创建加切换:
git checkout -b
合并某分支到当前分支:
git merge
删除分支:
git branch -d
查看历史版本情况和合并情况:
git log --graph --pretty=oneline --abbrev-commit
准备合并dev分支,请注意–no-ff参数,表示禁用Fast forward:
git merge --no-ff -m “merge with no-ff” dev
Merge made by the ‘recursive’ strategy.
readme.txt | 1 +
1 file changed, 1 insertion(+)
Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
git stash
Saved working directory and index state WIP on dev: f52c633 add merge
查看储存的工作区
git stash list
stash@{0}: WIP on dev: f52c633 add merge
删除储存的工作区
git stash drop
恢复储存的工作区
git stash apply
恢复并删除储存的工作区:
git stash pop
Git友情提醒,feature-vulcan分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用大写的-D参数。。
git branch -D
如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。
要查看远程库的信息,用git remote:
$ git remote
origin
或者,用git remote -v显示更详细的信息:
$ git remote -v
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
推送分支
$ git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master
git push origin dev
git push test master:jenkinsapi
#test 为设置的远程仓库别名,master为本地分支名,jenkinsapi为远程分支名
多人协作的工作模式通常是这样:
首先,可以试图用git push origin 推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
小结
查看远程库信息,使用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中打标签非常简单,首先,切换到需要打标签的分支上:
$ git branch
- dev
master
$ git checkout master
Switched to branch ‘master’
git tag 就可以打一个新标签
$ git tag v1.0
小结
命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a -m "blablabla…"可以指定标签信息;
命令git tag可以查看所有标签。
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
删除本地仓库,所有分支和master
rm -rf .git