Git常见使用

基本

  1. 初始化本地仓库
1
git init
  1. 提交本地内容到仓库
1
git add . 
1
git commit -m "xxx"
1
2
git push 
git push origin 分支名称
  1. 查看文件状态
1
git status
  1. 更新本地仓库内容
1
git pull
  1. 查看本地仓库文件与远端仓库文件不同的地方
1
git diff 文件名
  1. 克隆仓库
1
git clone

版本回退

  1. 查看版本
1
git log
  1. 版本回退
1
2
git reset --hard HEAD^
git reset --hard commit_id
  1. 查看 git 指令操作
1
git reflog
  • 一些其他思考
    看了相关博主大大介绍 git 版本回退快速,并且利用 ui 工具展示出版本时间线。乍一看,这好像一个链表呀,但是链表查找效率不是很慢嘛,哎哟,会不会是数组,于是乎就想简单了解一下 git 版本回退使用的相关数据结构。如下是 chatgpt 给出的一些回答:

撤销修改

  1. 添加到暂存区后让暂存区回退到工作区
1
git reset HEAD 文件名
  1. 工作区回退到上一个操作,相当于 ctrl+z
1
git checkout -- 文件名

分支管理

创建合并分支

  1. 查看分支信息
1
git branch
  1. 创建切换分支
1
2
3
git switch -c 分支名
git branch 分支名
git switch 分支名
  1. 合并分支
1
2
git merge 分支名
git merge --no-ff -m "xxx" 分支名
  1. 删除分支
1
git branch -d 分支名

解决冲突

A:git add、commit
B:git add、commit
git merge 分支出现冲突,手动修改冲突文件内容后在 add、commit

bug 处理

修改其他分支 bug,目前分支还不宜提交。

  1. 存储目前文件情况
1
git stash
  1. 切换到 Bug 分支
  2. 建立新分支,解决 Bug 后 add、commit
  3. 切换到 Bug 分支,合并新分支
  4. 切换到之前工作分支
  5. 恢复并且清除存储
1
git stash pop

多人协作

  1. 首先,可以试图用 git push 推送自己的修改

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull 试图合并

  3. 如果合并有冲突,则解决冲突,并在本地提交

  4. 没有冲突或者解决掉冲突后,再用 git push 推送就能成功!

  5. 如果 git pull 提示 no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令 git branch --set-upstream-to 分支名 origin / 分支名。

  • 创建远程仓库其他分支到本地
1
git checkout -b 分支名 origin/分支名
  • 查看远程分支具体信息
1
git remote -v
  • 修改远程提交地址
    当提交到别人仓库时,你的 config 文件配置改了 host 位置,ssh 连接成功后,需要与其改成一致才可提交。
1
git remote set-url origin <url>
访问量 访客