美文网首页
git基础 (1):git基本用法

git基础 (1):git基本用法

作者: 元亨利贞o | 来源:发表于2022-02-17 02:17 被阅读0次

一、创建git仓库

# 将当前目录初始化为git仓库,等价于:git init .
$ git init

$ git init repo-dir  # 将指定的目录初始化为git仓库 (如果指定的目录不存在,则创建)

二、创建分支、添加内容、提交内容

$ git branch -l # 列出所有存在的分支 (本地)
$ git branch -a # 列出所有分支 (本地和远程)

# 刚创建的仓库没有任何分支,第一次执行 "git add something" 后,会生成一个分支master分支,但是并未正则创建,第一次commit提交后会真正的创建master分支。
# 创建个文件并输入一点内容 "vim hello.c" 输入一点内容
$ git add hello.c   # 向当前分支添加文件
$ git add . # 添加当前目录下的所有文件 (包括当前目录下的子目录中的文件)
$ git status # 查看当前状态 (会有 On branch master,此时用 git branch -l查看,还是没有任何分支)
$ git commit -m "添加第一个文件" # 此时已经生成了第一个分支:master (此时执行 "git branch -l" 可以看到master分支了)

$ git branch   # 查看当前位于哪个分支上

$ git branch new-branch-name # 创建一个分支,如果new-branch-name已经存在,则报错。
# tips:git branch branch-name,
# 1. 是基于当前分支创建新的分支,branch_name分支 与 当前所在分支的内容一样。
# 2. 只是创建一个新分支,并不会切换。

$ git branch -d test # 删除本地分支 test。

# 切换分支
$ git checkout branch-name # 切换分支
$ git checkout -b new-branch-name # 创建并切换分支

$ git log   # 查看当前分支的提交记录

三、将本地git仓库,上传到 gitee 或 github

在github上创建一个仓库,并配置SSH key。(如何在github上创建仓库,以及如何配置SSH key,请自行百度)

# 将本地仓库与github上的仓库关联起来
# git remote add origin https://github.com/phoenix19900219/jni-demo.git
$ git remote add origin https://gitee.com/stone100/jni-demo.git

############################################
############################################
# 由于github抽风, 下面这段不是正常流程 (后面改用gitee)
$ git pull   # pull前需要把当前分支与远程分支关联起来,另外要使用--rebase来合并本地与远程的内容,避免远程分支的内容把本地内容给覆盖了
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), 4.70 KiB | 687.00 KiB/s, done.
From https://github.com/phoenix19900219/jni-demo
 * [new branch]      main       -> origin/main
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

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


# github上创建git仓库时,创建的默认分支是main
$ git branch -a  # 发现了一个远程分支:remotes/origin/main
* master
  remotes/origin/main

# 创建一个main分支并切换到main分支上
$ git checkout -b main

# 将当前分支与远程分支关联起来
$ git branch --set-upstream-to=origin/main

$ git pull --rebase 

$ git remote  # 查看关联的远程仓库有哪些
$ git remote remove origin # 删除远程仓库
############################################
############################################

# 拉取远程仓库origin上的master分支,并与当前分支合并
$ git pull --rebase origin master


# git push 命令的格式如下:
# git push <远程主机名> <本地分支名>:<远程分支名>

# git push # 如果只有一个远程主机(远程仓库),那么远程仓库可省略,默认的本地分支为当前分支,默认的远程分支为本地分支所关联的那个分支。


# 本地分支如何关联远程分支??
$ git branch -a   # 列出本地和远程分支,输出如下:
* master
  remotes/origin/master

$ git branch -u remotes/origin/master # 将当前分支与远程分支remotes/origin/master关联起来

# git branch 的参数:
#    -u, --set-upstream-to <upstream>
#                          change the upstream info
#    --unset-upstream      unset the upstream info
# 说明:
# -u, --set-upstream-to  设置当前分支关联的远程分支
# --unset-upstream       取消当前分支关联的远程分支

# remote仓库如果是多个则需要指明
# git push origin             # 指明remote仓库为origin
# git push origin master      # 指明远程仓库和远程分支
$ git push origin master:remotes/origin/master # 指明远程仓库, 本地分支, 远程分支

四、从github上clone一个项目到本地

# git clone 远程仓库名
# 如:
$ git clone https://gitee.com/stone100/jni-demo.git

五、把远程仓库内容更新到本地

# 1. 关联远程仓库
$ git remote add orgin <remote-repo-url>

# 2. 关联某个远程仓库的某个分支
$ git branch -u remote-branch-name # 可以使用 "git branch -a" 查看远程分支的名称

# 3. 拉取并合并
$ git branch --rebase origin master
# 当然,你也可以使用 git fetch + git merge 的方式,来实现更新同步。

# 关于:rebase 和 merge 的区别:
# https://www.cnblogs.com/kevingrace/p/5896706.html

六、总结

在本地建立一个git仓库并推送到gitee或github上的流程:

# 1. 初始化git仓库
$ git init git-demo

# 2. 添加一点东西 并 提交
$ git add hello.cpp
$ git commit -m "第一提交"

# 3. 在gitee 或 github 上创建一个repository

# 4. 将本地仓库与gitee或github上的仓库关联起来
$ git remote add origin https://gitee.com/stone100/jni-demo.git

# 5. 把当前分支与远程仓库的分支关联起来
$ git branch -u remotes/origin/master # 使用 "git branch -a" 来查看远程分支的名称

# 6. 拉取远程分支内合并到本地分支
$ git pull --rebase origin master

# 7. 将本地内容推送到远程仓库
$ git push origin master:remotes/origin/master

七、更多高级用法:

https://gitee.com/stone100/git-demo

相关文章

  • git基础 (1):git基本用法

    一、创建git仓库 二、创建分支、添加内容、提交内容 三、将本地git仓库,上传到 gitee 或 github ...

  • Git 的简单命令记录

    git 基本用法 查看git状态 git status 克隆 git cloneht...

  • Git 常用命令小结

    前言 阅读本篇文章需要读者了解 Git 的基本用法,如果你对 Git 完全不了解,请先行移步了解 Git 基础。下...

  • 理解GIT fetch

    首先,git fetch 有四种基本用法 git fetch →→ 这将更新git remo...

  • git初步学习和idea使用git忽略文件提交

    git 基础用法 1、进入文件夹中 cd 要加入git的文件 2、初始化 git init 3、要将某文件或...

  • Git资料集

    Git这些高级用法,喜欢就拿去用 Git基础知识 Git廖雪峰 猴子都能懂的Git入门 git tag常用操作

  • git 基础

    git基础用法 可更新远程develop最新代码 避免或减少代码合并冲突 1自己本地开发分支 git stash ...

  • 2018-04-18

    git学习小结 关于git init,git add,git commit 用法总结 1.首先配置git 全局配置...

  • Git ABC - 02

    Git Tag用法 练习: git tag v1 C1; git checkout v1; git tag v0 ...

  • Git diff 比较两个版本文件之间的差异

    一:git diff 基本用法 git diff 什么参数都不加,默认比较工作区暂存区的差异 git diff -...

网友评论

      本文标题:git基础 (1):git基本用法

      本文链接:https://www.haomeiwen.com/subject/ctddlrtx.html