Git 记录下常用的命令

发布时间 2023-09-04 11:16:11作者: 星流残阳

一、基本操作

1. 新建 git 仓库

git init

img

git init -b main
git config --global init.defaultBranch main
git branch -m main

2. 克隆远程仓库

git clone http://git.example.com/someone/test.git
git clone http://git.example.com/someone/test.git test
git clone http://git.example.com/someone/test.git --depth=1 -b main

3. 提交代码

git add -a
git add -u
git add .
git commit
git commit -m "first commit"
git commit -am "first commit"

4. 查看仓库状态

git status
git status -s

5. 查看提交历史

https://git-scm.com/docs/git-log

git log

6. 新建分支

git branch test
git checkout test
git checkout -b test

7. 合并分支

git checkout main
git merge test

8. 删除分支

git branch -d test-not-need

9. 合并冲突

当两个分支都对同一行进行了修改,git 便会产生冲突,并标记为未合并

此时将每个文件进行修改,确认最后的内容,使用 git add 方法标记为冲突已解决

git add .\A.txt

在所有文件的冲突均已解决后,使用 commit 提交此次修改。

git merge --abort

10. 远程仓库

git remote

默认应该为空

git remote add origin http://git.example.com/someone/test.git
git push origin main
git fetch --all
git fetch origin
git branch --set-upstream-to=origin/main main
git branch -u origin/main main
git push -u origin main
git pull
git pull origin main

二、常见技巧

1. 临时保存成果

git stash
git stash pop

2. 合并分支灵活选择 rebase/merge

git merge test
git rebase test

3. cherry-pick

适合 hotfix

git cherry-pick 12d654f1d701cbf7cd9abb98ce84eeef460a24a7

4. 修改上次提交

git commit --amend

会同时提交暂存的文件

5. 取消文件修改

git checkout .\C.txt

6. 弃用提交

# 保留文件
git reset --soft 12d654f1d701cbf7cd9abb98ce84eeef460a24a7

# 丢弃修改
git reset --hard 12d654f1d701cbf7cd9abb98ce84eeef460a24a7

7. 补丁文件

git diff [file] > a.patch
git apply a.patch

8. 查看配置

git config [--global|--system|--local] -l

编辑配置

git config --global -e

增加配置

git config --global -add section.key value