git操作

来源:互联网 发布:申请域名的步骤 编辑:程序博客网 时间:2024/05/29 16:52

git


git:分工作区,暂存区,远程仓库


一:创建远程仓库

1、在本地git init 之后添加文件

     mkdir test;cd test

     git init 

     echo "tets" > a.txt

    git add *

     git commit -a -m "ad"

 2、在本地仓库添加远程仓库,给远程主机起个名字叫origin 

git  remove add origin ftp://XXXXX/XXXX/XXX.git

       git  remove add test ftp://XXXXX/XXXX/XXX.git  添加一个测试的仓库和主机名

         git remove rename test test1 修改远程仓库主机名

         git remove show test1 展示远程仓库主机名下分支等信息

          git remove remove test1  移除远程仓库主机

二:仓库有了可以往远程仓库加分支

1、现在本地创建分支,之后推送上去

       git branch branch1:本地分支

       git push  oragin branch1:branch1. git push  远程仓库主机名 本地分支:远程分支

2、修改远程分支名字

先删除远程分支,然后重命名本地分支,然后将重命名后的分支推送到远程

       git branch -m branch1 new_branch.先修改本地分支

       git push origin new _branch

3、删除远程分支(两种方法)

     git push origan :远程分支名字。:前面为空就是对远程晴空

     git push origin --delete 远程分支名字

      git branch -d 本地分支删除

4、pull和fetch

      git pull/fetch oragin remove:local。git pull/fetch 远程主机名 远程分支:本地分支

      要是git fetch的需要自己合并git  meger

     git fetch oragin/远程分支  可以跟本地分支不写默认就是当前本地分支

     git merge origan/远程分支


5、切换分支

      可以直接从远程分支切换到本地

      git checkout -b branch_name oragin/远程分支名

       可以切换本地分支

      git checkout 本地分支名

 

6、建立远程和本地的追踪关系

       git brach --set-upstream 本地分支  主机名/远程分支 

        git branch --set-upstream master origin/next

如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。

但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。

$ git pull -p# 等同于下面的命令$ git fetch --prune origin $ git fetch -p

如果合并需要采用rebase模式,可以使用--rebase选项。

$ git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
还有一种情况,就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要使用--all选项。
git push --all origin


上面命令表示,将所有本地分支都推送到origin主机。

如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项。

$ git push --force origin 

上面命令使用--force选项,结果导致远程主机上更新的版本被覆盖。除非你很确定要这样做,否则应该尽量避免使用--force选项。

最后,git push不会推送标签(tag),除非使用--tags选项。

$ git push origin --tags


tag的应用:


打标签

git tag -a v1.0 -m ""

注解:git tag 是打标签的命令,-a 是添加标签,其后要跟新标签号,-m 及后面的字符串是对该标签的注释。

提交标签到远程仓库

git push origin -tags
注解:就像git push origin master 把本地修改提交到远程仓库一样,-tags可以把本地的打的标签全部提交到远程仓库。

删除标签


git tag -d v1.01


注解:-d 表示删除,后面跟要删除的tag名字

删除远程标签


git push origin :refs/tags/v1.01

注解:就像git push origin :branch_1 可以删除远程仓库的分支branch_1一样, 冒号前为空表示删除远程仓库的tag。

git push origin --delete tag_name

切换标签:
git checkout [tagname]

查看标签信息
git show v0.1.2

给指定的commit打标签、

打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取)。
# 补打标签
$ git tag -a v0.1.1 9fbc3d0

查看标签

git tag
或者

git tag -l


完成例子

git add *

git commit -a -m "asd"

git tag -a v1.0 -m ""

提交远程服务器

git push origan local:remmote

git push origan local:remote -tags

 

获取远程tag

 git fetch origin tag tag_name

0 0
原创粉丝点击