git小笔记(二)

1. 远程库

的名字就是origin,这是git默认的叫法,也可以改成别的,但origin这个名字一看就是远程库。

github中创建一个git仓库(learngit

把本地库的内容推送到远程,用git push命令,实际上是把当前的分支master推送到远程

 

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

 

github中的仓库中:

  

2. 从远程库克隆

  GitHub中创建一个新的仓库gitskills

 克隆一个本地库(git clone

 

3. 分支管理

  创建和合并分支

  git merge <分支>  用于合并指定分支到当前分支

  Eg: git merge dev  dev分支合并到master

  删除分支:

  git branch -d  <分支>

  例如:git branch -d dev dev分支

  <<

  查看分支:git branch

  创建分支:git branch <name>

  切换分支: git checkout <name>

  创建+切换分支: git checkout -b <name>

  合并某分支到当前分支:git merge <name>

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

例如:

 

  删除分支:git branch -d <name>

4. 解决冲突

   git无法自动合并分支时,就必须首先解决冲突,解决冲突后,再提交,合并完成

   (例如在dev分支中对readme.txt文件进行修改提交后,又在master中对该文件进行修改提交后,将dev分支合并master时,合并失败,会出现合并冲突的,然后进行手动修改)

  git log --graph 命令可以看到分支合并图

5. 修复bug

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

 

6. 删除分支

git branch -d <分支>

强制删除分支:git branch -D <分支>

7. 多人协作

查看远程库信息: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

(如果有冲突,先处理冲突)

  1. Rebase :把本地未push的分叉历史整理成直线。

          在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

9. 标签管理

新建标签:git tag <tagname>  默认HEAD ,也可指定一个commit id

指定标签信息:git tag -a <stgname> -m  “jhdhfsah”

查看所有标签:git tag

删除标签:git tag -d <标签>

推送某个标签到远程: git push origin <tagname>

一次性推送全部尚未推送到远程的本地标签: git push origin --tags

注:如果标签已经推送到远程,要删除远程标签,先从本地删除

    Git tag -d <tagname>

    从远程删除:git push origin :refs/tags/<tagname>

原文地址:https://www.cnblogs.com/lin1216/p/13218195.html