Git简单命令2

来源:互联网 发布:查询域名是否备案 编辑:程序博客网 时间:2024/06/06 08:37

1  本地初始化一个项目

git config --global user.name “你的名字或昵称”

git config --global user.email “你的邮箱”

(1)需要初始化版本库的文件中执行:

git init

git remote add origin <你的项目地址>//:项目地址形式为:http://git.oschina.net/xxx/xxx.git或者git@git.oschina.net:xxx/xxx.git

2  克隆一个项目

git clone <项目地址>

3  完成第一次提交

git add .

git commit -m xxxx

git push origin master 

4  创建和合并分支

1)创建dev分支,然后切换到dev分支中:

git checkout -b dev

git checkout命令加上-b参数表示创建并切换,相当于下面两个命令:

git branch dev

git checkout dev

2)查看当前分支:

git branch

git branch命令会列出所有分支,当前分支前面会标记一个*号。

(3)合并分支

git merge dev

git merge命令用于合并指定分支到当前分支。

(4)删除dev分支

      git branch -d dev

(5)查看分支合并图

git log --graph

5  分支管理

(1)合并分支:

git merge --no-ff -m “merge with no-ff” dev

合并dev分支,--no-ff参数,表示禁用Fast forward。本次合并要创建一个新的commit,所以加上-m参数。

(2)查看分支历史:

git log --graph --pretty=oneline --abbrev-commit

 

6  Bug 分支

    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

1)保存现在工作场景

git stash

把当前工作场景“储藏”起来,等回复现场后进行恢复。

(2)查看现场分支

git stash list

查看又哪些工作场。

(3)恢复现场

A. git stash apply  恢复后,stash内容并不删除。需要使用git stash drop删除。

 git stash apply stash@{0}

    恢复指定的现场。

B. git stash pop  恢复的同时把stash内容也删除了。

(4)强行删除分支

git branch -D <name>

如果丢弃一个没有被合并过的分支,使用上述命令

7  多人协作

(1)查看远程库信息

git remote

git remote -v 显示更详细的信息。

(2)推送分支

git push origin dev

 

l master分支是主分支,因此要时刻与远程同步;

l dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

l bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug

l feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

(3)抓取分支

Git pull 把最新的提交从origin/dev抓下来,本地解决分歧再推送。


因此,多人协作的工作模式通常是这样:

    首先,可以试图用git push origin branch-name推送自己的修改;如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

    如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

 

小结

l     查看远程库信息,使用git remote -v

l     本地新建的分支如果不推送到远程,对其他人就是不可见的;

l     从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

l     在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

l     建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

l     从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

 

 

 

 

 

原创粉丝点击