本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用。
远程仓库的使用
查看远程仓库
查看你已经配置的远程仓库服务器,可以运行 git remote
命令。指定选项 -v
,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
添加远程仓库
运行 git remote add <shortname> <url>
添加一个新的远程 Git 仓库,同时指定一个可以轻松引用的简写:
$ git remote add gs
https://gitee.com/guanzzh/git-start.git
从远程仓库中抓取与拉取
想拉取仓库中有但你没有的信息,可以运行git fetch
命令,
必须注意 git fetch
命令会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作。
$ git fetch [remote-name]
如果你有一个分支设置为跟踪一个远程分支,可以使用 git pull
命令来自动的抓取然后合并远程分支到当前分支。
推送到远程仓库
可以使用git push [remote-name] [branch-name]
命令。
$ git push origin master
只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。
查看远程仓库
查看某一个远程仓库的更多信息,可以使用 git remote show [remote-name]
命令。
它同样会列出远程仓库的 URL 与跟踪分支的信息。 这些信息非常有用,它告诉你正处于 master
分支,并且如果运行 git pull
,就会抓取所有的远程引用,然后将远程 master
分支合并到本地 master
分支。 它也会列出拉取到的所有远程引用。
远程仓库的移除与重命名
要重命名引用的名字可以运行 git remote rename
去修改一个远程仓库的简写名。
$ git remote rename gs newgs
移除一个远程仓库使用 git remote rm
。
$ git remote rm newgs
Git工作流程
一般工作流程如下:
- 将Git的一个存储库克隆为工作副本。
- 可以通过添加/编辑文件修改工作副本。
- 如有必要,还可以通过让其他开发人员一起来更改/更新工作副本。
- 在提交之前查看更改。
- 提交更改:如果一切正常,那么将您的更改推送到存储库。
- 提交后,如果意识到某些错误并修改错误后,则将最后一个正确的修改提交并将推送到存储库。
下面显示的是工作流程的图示
Git标签
创建标签
使用git tag
命令来标记当前HEAD
指针。在创建标签时需要提供-a
选项的标签名称,并提供带-m
选项的标签消息。如果要标记特定提交,则使用相应的COMMIT ID
而不是HEAD
指针。
语法:git tag –a [tagName] –m [description] [commitedID]
$ git tag -a 'Release_1_0' -m 'Tagged relesae 1 code' HEAD
将标签推送到远程存储库。语法:git push origin tag [tagName]
$ git push origin tag Release_1_0
查看标签
使用git tag –l 可以查看tag名称,使用git show tagName可以标签详细信息。
删除标签
使用 git tag -d
tagname中带有-d
选项 -从本地以及远程存储库中删除标签。
$ git tag -d Release_1_0
Deleted tag 'Release_1_0' (was ca84aa2)
Git补丁操作
补丁是一个文本文件,其内容类似于git diff
,但与代码一样,它也有关于提交的元数据; 例如提交ID,日期,提交消息等。我们可以从提交创建一个补丁,而其他人可以将它们应用到他们的存储库。使用git format-patch
命令创建最新提交的修补程序。 如果要为本次提交创建修补程序,直接可以使用git format-patch -1
命令,
如果需要为特定提交创建修补程序,使用
git format-patch –root [commitID],
会为每次该次提交前的所有提交创建一个补丁程序。
Git分别提供两个命令:git am
和 git apply
来应用补丁。 git apply
修改本地文件而不创建提交,而git am
会修改文件并创建提交。
Git管理分支
创建分支
使用git branch <branch name>
命令创建一个新的分支。可以从现有的分支创建一个新的分支。 也可以使用特定的提交或标签作为起点创建分支。 如果没有提供任何特定的提交ID,那么将以HEAD
作为起点来创建分支。Git为checkout
命令提供-b
选项; 此操作将创建一个新的分支,并立即切换到新分支。
$ git branch –b lin
使用git branch
命令列出可用的分支。Git在当前签出分支之前显示一个星号。
$ git branch
lin
* master
切换分支
使用git checkout
命令在分支之间切换。
$ git checkout new_branch
删除分支
可以通过向git branch
命令提供-D
选项来删除分支。 但在删除现有分支之前,请切换到其他分支。
$ git branch -D new_branch
重命名分支
通过使用-m
选项后跟旧的分支名称和新的分支名称来更改/重新命名分支名称。
$ git branch -m new_branch n_branch
合并两个分支
git merge
命令用于将两个或两个以上的开发历史加入(合并)一起。可以使用git merge new_brach
命令合并new_branch分支到当前分支。
关于Git的相关信息就总结到这里,相信在项目中已经够用了,实际项目中遇到的问题可以根据实际情况具体问题具体分析,永远不要嫌弃伟大的度娘,O(∩_∩)O哈哈~