git-gitee

本文介绍了如何设置Git全局用户信息,创建和管理仓库,以及从另一个远程仓库(trunk)获取并切换到dev分支的操作。通过实例演示了`git fetch`, `git checkout`和`git clone`等命令的使用,重点在于分支管理和代码同步。
摘要由CSDN通过智能技术生成

Git 全局设置:

git config --global user.name "wang84"
git config --global user.email "18736058425@163.com"

创建 git 仓库:

mkdir learngit
cd learngit
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:wang84/learngit.git
git push -u origin "master"

已有仓库?

cd existing_git_repo
git remote add origin git@gitee.com:wang84/learngit.git
git push -u origin "master"

git command

 

有origin trunk两个仓库,从trunk获取一个分支的代码

1. git fetch trunk dev




wang@ubuntu:~/Desktop/learngit$ git fetch trunk
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 474 bytes | 118.00 KiB/s, done.
From gitee.com:eric8425/learngit
 * [new branch]      dev        -> trunk/dev
 * [new branch]      master     -> trunk/master



wang@ubuntu:~/Desktop/learngit$ git checkout dev
error: pathspec 'dev' did not match any file(s) known to git
hint: 'dev' matched more than one remote tracking branch.
hint: We found 2 remotes with a reference that matched. So we fell back
hint: on trying to resolve the argument as a path, but failed there too!
hint: 
hint: If you meant to check out a remote tracking branch on, e.g. 'origin',
hint: you can do so by fully qualifying the name with the --track option:
hint: 
hint:     git checkout --track origin/<name>
hint: 
hint: If you'd like to always have checkouts of an ambiguous <name> prefer
hint: one remote, e.g. the 'origin' remote, consider setting
hint: checkout.defaultRemote=origin in your config.


wang@ubuntu:~/Desktop/learngit$ git checkout --track trunk/dev
Branch 'dev' set up to track remote branch 'dev' from 'trunk'.
Switched to a new branch 'dev'
wang@ubuntu:~/Desktop/learngit$ git branch
* dev
  master
wang@ubuntu:~/Desktop/learngit$ cat redme.md 

git 主仓库:dev
modified

wang@ubuntu:~/Desktop/learngit$ git checkout master 
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
wang@ubuntu:~/Desktop/learngit$ cat redme.md 

git 主仓库:master




wang@ubuntu:~/Desktop/learngit$ git fetch trunk dev
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 241 bytes | 120.00 KiB/s, done.
From gitee.com:eric8425/learngit
 * branch            dev        -> FETCH_HEAD
 * [new branch]      dev        -> trunk/dev
wang@ubuntu:~/Desktop/learngit$ git checkout --track trunk/dev
Branch 'dev' set up to track remote branch 'dev' from 'trunk'.
Switched to a new branch 'dev'
wang@ubuntu:~/Desktop/learngit$ git branch
* dev
  master
wang@ubuntu:~/Desktop/learngit$ cat redme.md 

git 主仓库:dev
modified

wang@ubuntu:~/Desktop/learngit$ 

2. git checkout -b dev origin/dev

wang@ubuntu:~/Desktop$ git clone git@gitee.com:wang84/learngit.git
Cloning into 'learngit'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 10 (delta 0), reused 10 (delta 0), pack-reused 0
Receiving objects: 100% (10/10), done.
wang@ubuntu:~/Desktop$ git remote add trunk git@gitee.com:eric8425/learngit.git
fatal: not a git repository (or any of the parent directories): .git
wang@ubuntu:~/Desktop$ cd learngit/
wang@ubuntu:~/Desktop/learngit$ git remote add trunk git@gitee.com:eric8425/learngit.git
wang@ubuntu:~/Desktop/learngit$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
wang@ubuntu:~/Desktop/learngit$ git fetch trunk
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 474 bytes | 79.00 KiB/s, done.
From gitee.com:eric8425/learngit
 * [new branch]      dev        -> trunk/dev
 * [new branch]      master     -> trunk/master
wang@ubuntu:~/Desktop/learngit$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
  remotes/trunk/dev
  remotes/trunk/master
wang@ubuntu:~/Desktop/learngit$ git checkout -b dev origin/dev 
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
Switched to a new branch 'dev'
wang@ubuntu:~/Desktop/learngit$ git branch
* dev
  master
wang@ubuntu:~/Desktop/learngit$ cat dev
cat: dev: No such file or directory
wang@ubuntu:~/Desktop/learngit$ cat redme.md 

git 主仓库:dev


wang@ubuntu:~/Desktop/learngit$ git pull trunk dev
From gitee.com:eric8425/learngit
 * branch            dev        -> FETCH_HEAD
Updating 43a0223..01aa00e
Fast-forward
 redme.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
wang@ubuntu:~/Desktop/learngit$ cat redme.md 

git 主仓库:dev
modified

3. git clone -a SSH

wang@ubuntu:~/Desktop$ git clone -b dev git@gitee.com:wang84/learngit.git
Cloning into 'learngit'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 10 (delta 0), reused 10 (delta 0), pack-reused 0
Receiving objects: 100% (10/10), done.
wang@ubuntu:~/Desktop$ git branch -a
fatal: not a git repository (or any of the parent directories): .git
wang@ubuntu:~/Desktop$ cd learngit/
wang@ubuntu:~/Desktop/learngit$ git branch -a
* dev
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
wang@ubuntu:~/Desktop/learngit$ cat redme.md 

git 主仓库:dev

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值