P18.git refspec与远程分支

  • git开发用户
    张三
    李四

  • push完整命令

git push origin srcBranch:destBranch
  • pull完整命令
git pull origin srcBranch:destBranch
  • HEAD标记
    HEAD文件是一个指向当前分支的引用标识符,该文件内部并不包含SHA-1值,而是指向另一个引用的分支
  • 执行git commit
    git会创建一个commit对象,并且将这个commit对象的parent指针设置为HEAD所指向的SHA-1值
  • 我们对git的所有操作都会被git reflog记录
  • 通过git底层命令实现对HEAD内容的修改
symbolic-ref

张三

  • 分支学习
$ git branch -av
  develop               73e8430 [gone] use alisa
  master                73e8430 use alisa
* test                  73e8430 use alisa
  remotes/origin/master 73e8430 use alisa
  remotes/origin/test   73e8430 use alisa

$  git remote show origin
* remote origin
  Fetch URL: git@github.com:15829254966/gitlearn.git
  Push  URL: git@github.com:15829254966/gitlearn.git
  HEAD branch: master
  Remote branches:
    master tracked
    test   tracked
  Local branches configured for 'git pull':
    develop merges with remote develop
    master  merges with remote master
    test    merges with remote test
  Local refs configured for 'git push':
    master pushes to master (up to date)
    test   pushes to test   (up to date)

$ git push origin develop:develop
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'develop' on GitHub by visiting:
remote:      https://github.com/15829254966/gitlearn/pull/new/develop
remote:
To github.com:15829254966/gitlearn.git
 * [new branch]      develop -> develop

$ git pull origin develop:develop
Already up to date.

$ vi .git/HEAD

$ git reflog
73e8430 (HEAD -> test, origin/test, origin/master, origin/develop, master, develop) HEAD@{0}: checkout: moving from develop to test
73e8430 (HEAD -> test, origin/test, origin/master, origin/develop, master, develop) HEAD@{1}: checkout: moving from master to develop
73e8430 (HEAD -> test, origin/test, origin/master, origin/develop, master, develop) HEAD@{2}: commit: use alisa
791ae6d HEAD@{3}: commit: use git gui
eef3de7 HEAD@{4}: merge origin/master: Fast-forward
ce347e1 HEAD@{5}: commit: zhangsan add
e8f5738 HEAD@{6}: pull: Fast-forward
1c62941 HEAD@{7}: checkout: moving from 1c62941efd616b1ce1d0509791acbfd4d53b1582 to master
1c62941 HEAD@{8}: checkout: moving from master to origin/master
1c62941 HEAD@{9}: commit: update readme
10d1ab1 HEAD@{10}: commit (initial): fix readme

$ git symbolic-ref HEAD
refs/heads/test

$ git symbolic-ref HEAD refs/heads/develop

$ git reflog
73e8430 (HEAD -> develop, origin/test, origin/master, origin/develop, test, master) HEAD@{0}: checkout: moving from develop to test
73e8430 (HEAD -> develop, origin/test, origin/master, origin/develop, test, master) HEAD@{1}: checkout: moving from master to develop
73e8430 (HEAD -> develop, origin/test, origin/master, origin/develop, test, master) HEAD@{2}: commit: use alisa
791ae6d HEAD@{3}: commit: use git gui
eef3de7 HEAD@{4}: merge origin/master: Fast-forward
ce347e1 HEAD@{5}: commit: zhangsan add
e8f5738 HEAD@{6}: pull: Fast-forward
1c62941 HEAD@{7}: checkout: moving from 1c62941efd616b1ce1d0509791acbfd4d53b1582 to master
1c62941 HEAD@{8}: checkout: moving from master to origin/master
1c62941 HEAD@{9}: commit: update readme
10d1ab1 HEAD@{10}: commit (initial): fix readme

ignore@zhanghuan MINGW64 /e/procedure/gitlearn (develop)

  • 查看提交ID
$ vi .git/ORIG_HEAD

$ vi .git/FETCH_HEAD

添加标签推送到远程

  • 添加标签
$ git tag

$ git tag V1.0.0

$ git tag
V1.0.0

$ git tag -a V1.0.1 -m "fix bug"

$ git tag
V1.0.0
V1.0.1
  • 标签的搜索
$ git show V1.0.0
commit 73e843040825d9e4ca573e9edc81dcaeb89e73d7 (HEAD -> master, tag: V1.0.1, tag: V1.0.0, origin/test, origin/master, origin/develop, test, develop)
Author: 张三 <zhangsan@git.com>
Date:   Sun Aug 2 19:15:10 2020 +0800

    use alisa

diff --git a/readme b/readme
index 6c3cff3..4a21184 100644
--- a/readme
+++ b/readme
@@ -6,3 +6,4 @@ i am lisi
 add 1
 i am zhangsan
 use git gui
+test alias

$ git tag -l '*1*'
V1.0.0
V1.0.1

  • 推送一个标签
$ git push origin V1.0.0
Total 0 (delta 0), reused 0 (delta 0)
To github.com:15829254966/gitlearn.git
 * [new tag]         V1.0.0 -> V1.0.0
  • 推送多个标签
$ git push origin --tags
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 165 bytes | 165.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:15829254966/gitlearn.git
 * [new tag]         V1.0.1 -> V1.0.1

李四

  • 拉取标签
$ git pull
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), done.
From github.com:15829254966/gitlearn
 * [new tag]         V1.0.0     -> V1.0.0
 * [new tag]         V1.0.1     -> V1.0.1
Already up to date.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值