专业编程基础技术教程

网站首页 > 基础教程 正文

Git常用命令(git常用命令拉取代码)

ccvgpt 2024-07-18 12:46:20 基础教程 4 ℃

#长文创作激励计划#

初始化代码仓库

Git常用命令(git常用命令拉取代码)

  • git init

将本地修改内容提交到缓存区

  • git add
git add <file>

将存储区内容推送到本地仓库

  • git commit
git commit [file1] [file2] ... -m [message]

查看某个文件工作区与缓存区区别

  • git diff
git diff <file>

 # 查看工作区与版本库里面最新版本的区别
 git diff HEAD -- XXX.txt

查看提交历史信息

  • git log
# 方法一,会显示很多非必要信息
git log

# 方法二:简化log信息输出
git log --pretty=online

提交版本回滚

  • git reset
#  参数介绍, reset中参数包括了 mixed和hard, hard慎用
# --mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
# --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:


# 一、所有内容回滚到上一个版本
# 方式1:如果是上一个版本可以使用
git reset HEAD^
# 回退到上3个版本
git reset HEAD^3

# 方式2: 根据版本号  commit id 进行回滚,版本号只需要输入前几位即可
git reset 203a

# 二、某个文件回退到某个版本
git reset HEAD^ xxx.txt

查看命令历史

  • git reflog
git reflog

撤销修改

  • git checkout -- filename
# 将filename文件在工作区的修改全部撤销,
git checkout -- filename

# 情况一、如果没有使用git add,即自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
git checkout -- filenam

# 情况二:如果使用git add 添加了,但并未commit,即已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git checkout -- filename

# 如果想同时撤销(unstage)缓存区的提交信息,重新放回工作区,使用reset 可以把暂存区的修改回退到工作区
git reset HEAD filename
# 在使用 git checkout,使文件与缓存区保持一致
git checkout -- filename

# 总之,就是让这个文件回到最近一次git commit或git add时的状态。


删除文件

# 删除本地文件
rm <file>

# 删除版本库中文件
git rm <file>

# 版本库中有文件,本地误伤,想恢复到最新版本
git checkout --<file>

本地库推送到远程库

git push -u origin master

删除远程库

# 查看远程库信息
git remote -v

# 删除远程库连接
git remote rm <branch_name>

远程库clone到本地

git clone git@XXXXXX


创建并切换分支

  • git branch
# 创建分支
git branch newBranch
# 创建并切换到分支
git checkout newBranch

# 等价于
git checkout -b newBranch
# 或者
git switch -c <name>

# 查看分支信息
git branch

# 删除分支
git branch -d <name>

合并分支

  • git merge
# 语法
git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]    
         [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]     
         [--[no-]allow-unrelated-histories]     
         [--[no-]rerere-autoupdate] [-m <msg>] [<commit>…] 
 git merge --abort 
 git merge --continue
 
 # 合并分支dev到当前分支中
 git merge dev
  • git rebase
# 合并后的分支更加清晰,但公司要求不同,可以使用merge更为稳妥
# 1 进入分支
git checkout dev
# 2 合并入主分支
git rebase main

查看当前仓库状态

  • git status
# 查看上次提交后是否有其他修改
$ git status
    On branch master
    
    Initial commit
    
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
    
        new file:   README
        new file:   hello.php

Tags:

最近发表
标签列表