拉取与建立仓库

用户签名

1
2
3
git config          --global user.name 用户名
git config --global user.email 邮箱
cat ~/.gitconfig


出## 拉取代码

1
git clone 远程仓库地址

初始化仓库

1
2
git init                    -- 初始化本地仓库
git status --查询本地库状态

会建立并转到master分支下

更新代码

提交代码

提交

1
2
3
4
git add .                    -- 将改动提交至暂存区
git commit -m "日志信息" -- 提交所有改动过的文件
git push origin master
git reflog -- 查看历史记录

撤销

1
2
3
git reset --hard HEAD                     -- 撤销所有未提交文件的修改内容
git checkout HEAD 文件名 --撤销所有未提交文件的修改内容
git revert <commit> -- 撤销提交

合并多次提交

例如我要合并前两个提交

1
git rebase -i HEAD~3
  1. 指名要合并的版本之前的版本号

    git rebase -i 3a4226b

    请注意 3a4226b 这个版本是不参与合并的,可以把它当做一个坐标

执行了 rebase 命令之后,会弹出一个窗口

1
2
3
4
5
pick 3ca6ec3   '注释**********'

pick 1b40566 '注释*********'

pick 53f244a '注释**********'

将除了第一个的 pick,其他都改为 s 或 squash

1
2
3
4
5
pick 3ca6ec3   '注释**********'

squash 1b40566 '注释*********'

squash 53f244a '注释**********'

这时候,需要强制push上去  git push -f

分支

添加远程分支

1
git remote add origin https://XXX

查看分支

1
git branch -a                   --查看本地分支和远程分支

查看远程分支 URL

1
git remote show origin

更新远程分支 URL

1
git remote set-url origin https://github.com/user/new-repo.git

创建分支

1
git branch 分支名                 -- 创建分支

切换分支

1
git checkout 分支名                  -- 切换分支

合并分支

首先要切换到master分支下

1
2
git checkout master
git merge 分支名 --合并分支

上传到 main 分支

需要合并到 main 分支

  1. git fetch origin
  2. git checkout main
  3. git merge master –allow-unrelated-histories(合并分支解决冲突)
  • 有可能两个文件有冲突,要人为决定
  • 此处有解决方案

添加安全权限

1
git config --global --add safe.directory "*"

解决冲突

1
2
3
git fetch origin
git clean -f
git reset --hard origin/master