无标题文章

在GitHub上管理项目

新建repository

本地目录下,在命令行里新建一个代码仓库(repository)

里面只有一个README.md

命令如下:

touch README.md

git init

初始化repository

git add README.md

将README.md加入到缓存区

(可以用git add --a将所有改动提交到缓存(注意是两个杠))

git commit -m "first commit"

提交改变,并且附上提交信息"first commit"

Push

git remote add origin https://github.com/XXX(username)/YYYY(projectname).git

加上一个remote的地址,名叫origin,地址是github上的地址(Create a new repo就会有)

因为Git是分布式的,所以可以有多个remote.

git push -u origin master

将本地内容push到github上的那个地址上去。

参数-u

用了参数-u之后,以后就可以直接用不带参数的git pull从之前push到的分支来pull。

此时如果origin的master分支上有一些本地没有的提交,push会失败.

所以解决的办法是, 首先设定本地master的上游分支:

git branch --set-upstream-to=origin/master

然后pull:

git pull --rebase

最后再push:

git push

分支

新建好的代码库有且仅有一个主分支(master),它是自动建立的。

可以新建分支用于开发:

git branch develop master

新建一个叫develop的分支,基于master分支

切换到这个分支:

git checkout develop

现在可以在这个develop分支上做一些改动,并且提交。

注意:切换分支的时候可以发现,在Windows中的repository文件夹中的文件内容也会实时相应改变,变成当前分支的内容。

push方法1:

现在如果想直接Push这个develop分支上的内容到github

git push -u origin

如果是新建分支第一次push,会提示:

fatal: The current branch develop has no upstream branch.

To push the current branch and set the remote as upstream, use

git push --set-upstream origin develop

输入这行命令,然后输入用户名和密码,就push成功了。

以后的push就只需要输入git push origin

push方法2:

比如新建了一个叫dev的分支,而github网站上还没有,可以直接:

git push -u origin dev

这样一个新分支就创建好了。

push方法3:

提交到github的分支有多个,提交时可以用这样的格式:

git push -u origin local:remote

比如:git push -u origin master:master

表明将本地的master分支(冒号前)push到github的master分支(冒号后)。

如果左边不写为空,将会删除远程的右边分支。

创建分支的另一种方法

用命令git checkout -b develop2 develop

可以新建一个分支develop2,同时切换到这个分支

删除分支

git branch可以查看所有的分支

git branch -d develop2将develop2分支删除

Clone

使用git clone+github地址的方法,项目默认只有master分支。git branch也只有master

要看所有的分支:git branch -a或者是git branch -r

这时候要新建一个分支,叫做dev,基于远程的dev分支:git checkout -b dev origin/dev

加Tag

git tag tagname develop

git tag中的两个参数,一个是标签名称,另一个是希望打标签的点develop分支的末梢。

合并分支

git checkout master

先转到主分支

git merge --no-ff develop

然后把develop分支merge过来

参数意义:

不用参数的默认情况下,是执行快进式合并。

使用参数--no-ff,会执行正常合并,在master分支上生成一个新节点。

merge的时候如果遇到冲突,就手动解决,然后重新add,commit即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 初始化配置 C代码 收藏代码 配置使用git仓库的人员姓名 git config --global user.n...
    Yepku阅读 968评论 0 0
  • 拌了个老式芹菜饺子馅儿,配黑猪肉木耳多头小蘑菇,本着营养全吸收的原则,芹菜叶混搭,再活个面待命。 插空儿去趟海源公...
    smile丝唛小主阅读 1,319评论 1 0
  • 我记得表姐是在母亲刚刚重病时来到我家的。那是我六年级刚开始的九月,蓉城漫长且闷热的夏日还在持续,我一边在学校没有...
    罐装豌豆阅读 5,548评论 2 9
  • 星夜在无人的荒野赶路 一把星星散落在四处 点不亮前行的路 与我秉烛的人啊 遗留在这里的我 看不清方向 只有黑暗陪我
    祝余之阅读 1,163评论 2 3