git常用命令

git常用命令

仓库

本地仓库操作

设置用户信息

1
git config --global user.name "用户名"
1
git config --global user.email "邮箱"

查看配置信息

1
git config --list

创建git本地仓库

1
git init

获取git远程仓库

1
git clone 仓库地址

提交到版本库

1
git commit -m "备注"

查看日志

1
git log

远程仓库操作

查看远程仓库

1
git remote -v

添加远程仓库

1
git remote add origin 仓库地址

拉取远程仓库

1
git pull origin 远程分支名

推送到远程仓库

1
git push origin 远程分支名

文件

新增文件

1
git add 文件名

删除文件

1
2
3
4
5
6
// 通过git命令删除
git rm 文件名

// 如果是手动删除
// 需要执行add命令,会把删除操作一并记录到暂存区
git add .

取消git管理指定文件

1
2
// 只会让文件不被git管理,并不会删除本地文件
git rm --cached 文件名

将文件取消暂存 / 切换版本

1
git reset *或者文件名

查看文件状态

1
git status 

查看工作区和暂存区区别

1
git diff

分支操作

查看分支

1
git branch

创建分支

1
git branch 分支名

切换分支

1
git checkout 分支名

推送到远程仓库

1
git push origin 分支名

合并分支

1
git merge 分支名

删除分支

1
2
3
4
5
// Git 会检查该分支是否已合并到当前分支,如果未合并,会提示报错。
git branch -d 分支名

// 强制删除
git branch -D 分支名

标签

列出已有的标签

1
git tag

创建标签

1
git tag 标签名

将标签推送至远程仓库

1
git push origin 标签名

取出创建这个标签时的代码

1
git checkout -b 新的分支名 标签名

问题

  1. 推送远程仓库时出现git SSL certificate problem: unable to get local issuer certificate时,设置

    1
    2
    // 使用 Windows 系统自带的证书系统(Schannel)来处理 SSL/TLS 连接
    git config --global http.sslbackend schannel
  2. 推送时Automatic merge failed; fix conflicts and then commit the result.,表示自动合并失败,本地和远程文件同一部分被修改

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // 查看冲突文件
    git status

    // 打开冲突文件可以看到
    <<<<<<< HEAD
    本地内容
    =======
    远程内容
    >>>>>>> origin/main

    // 保留本地内容或远程内容
    // 修改完文件后 git add、commit、push即可

git工作流

通常

  1. 先将远程仓库的项目拉到本地

    1
    git clone <仓库地址>
  2. 在本地新建一个自己的分支

    建议在自己的branch上修改代码,而不是直接在主分支上修改

    1
    2
    git checkout -b <分支名>
    // -b 新建并且切换到新分支
  3. 在自己分支上修改代码

  4. 在写完代码,还没有保存到git本地仓库时,可以通过git diff查看修改后的代码和修改前的代码的不同

    建议先看一下修改了哪些内容再继续

  5. 将修改的代码保存到暂存区

    1
    2
    git status	// 查看还没有保存到暂存区的文件
    git add <文件名/*> // 将文件添加到暂存区,*表示所有
  6. 将暂存区的代码提交到git本地仓库中

    1
    git commit -m "<备注信息>"
  7. 将自己本地的分支提交到远程仓库,远程仓库会多出一个新分支

    1
    git push origin <提交的远程仓库的分支名>

当远程仓库的主分支代码有改动时

如果在合并自己的分支和远程仓库主分支时,远程仓库主分支的代码在之前clone下来的基础上有改动,需要同步远程仓库的代码到本地的分支里,看看会不会冲突

  1. 先将本地git的分支切换回主分支,再将远程仓库的代码拉到本地

    1
    2
    git checkout main
    git pull origin main
  2. 切换到分支上,将分支上的代码和最新的代码尝试进行合并

    可能会出现冲突,需要手动选择要保存的代码

    1
    git rebase main	// 意思是在最新的main的基础上,将我的修改添加到main中
  3. 解决完冲突后,将本地的分支推到远程仓库的分支上

    1
    2
    git push -f origin <分支名>
    // -f force强行

远程仓库上将分支和主分支合并

  1. 远程仓库主人通过pull request的squash and merge 将所有的commit合并成一个commit ,再合并到主分支上

  2. 合并完,通常会删除本地分支和远程分支,再把最新的主分支拉到本地主分支

    1
    2
    git branch -D <分支名>	// 删除本地分支
    git pull origin main // 把最新的主分支拉到本地主分支
    1
    删除远程分支:点击view all branchs,点击垃圾桶标识就可删除了


git常用命令
http://xwww12.github.io/2022/08/10/git/git常用命令/
作者
xw
发布于
2022年8月10日
许可协议