Git常用命令(2)

一、连接Github,两个仓库进行远程同步

在Git bash中,输入:

$ git remote add origin git@github.com:Richardchub/learngit.git

把本地库内容推送到远程库上:

$ git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上-u参数,Git不但会把本地的master分支内同推送到远程的新的master分支,还会把本地的master分支和远程的master分支关联起来,以后的推送或者拉取时就可以简化命令。

二、克隆远程库

$ git clone git@github.com:wp734/gitskills.git

然后进入gitskills目录看一看

$ cd gitskills
$ ls
README.md
三、创建与合并分支

首先,我们创建dev分支,然后切换到dev分支:

$ git checkout -b dev
Switched to a new branch 'dev'

git chaeckout命令加上-b表示创建并切换,相当于:

$ git branch dev
$ git checkout dev
Switched to branch'dev'

然后用git branch命令查看当前分支:

$ git branch
* dev
  master

git branch命令会显示所有分支。

把dev分支的工作合并到master分支上:

$ git merge dev

合并完成后,就可以放心地删除dev分支了。

$ git branch -d dev
$ git branch
* master


如果feature1分支和master分支有分歧(同时对同一文件进行了修改)

$ git merge feature1
(此时出现错误信息)
(在文本编辑器中修改后)
$ git add readme.txt
$ git commit -m"conflict fixed"

此时才和并完成。最后删除feature1分支

$ git branch -d feature1
Deleted branch feature1(was 14096d0).
$ fit log --graph --pretty=oneline --abbrev-commit

可以看到分支合并图。

再合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

$ git merge --no-ff -m"merge with no-ff" dev

因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去

四,Bug分支

当前dev上进行的工作还未做完,但你想创建一个分支issue-101来修复一个Bug。

$ git stash
Save working directory and index state WIP on dev:f52c633 add merge

现在再用git status查看工作区,就是干净的。

然后修改Bug:

$ git checkout master
$ git checkout -b issue-101
Switched to a new branch'issue-101'
$ git add readme.txt
$ git commit -m"fix bug 101"
$ git checkout master
$ git merge --no-ff -m"merged bug fix 101"issue-101
$ git branch -d issue-101

接着回到dev分支干活了!

$ git checkout dev
Switched to branch'dev'

$ git status
On branch dev
nothing to commit,working tree clean

工作现场怎么找呢?

$ git stash list
stash@{0},WIP on dev:f52c633 add merge

git stash list查看工作现场,如果没有,则看不到任何内容。

1,git stash apply恢复,恢复后,stash内容并不删除。你需要git stash drop来删除

$ git stash apply

2,git stash pop恢复,恢复后,同时把stash内容也删了

$ fit stash pop

五,多人协作

查看远程库的信息,用git remote,详细信息,用git remote -v

$ git remote
origin
$ git remote -v
origin git@github.com:Richardchub/learngit.git(fetch)
origin git@github.com:Richardchub/learngit.git(push)













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值