git常用方法

373 阅读3分钟

基础使用

实现简单的克隆、提交、上传等操作

克隆

将远程机上的代码克隆到本地

# 克隆常规项目
# [根路径名] 可选参数,定义本地根路径名,默认为git项目名
git clone url [根路径名]
# 克隆包含子项目的项目
git clone --recurse-submodules url [根路径名]

分支管理

# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看所有分支
git branch -a
# 创建分支
git branch 分支名
# 创建分支并切换至新建分支
git checkout -b 分支名
# 分支切换
git checkout 分支名
# 分支对比
# [--stat/文件名] 可选参数,--stat列出两个版本中不同文件名;文件名对比当前分支和选中分支中指定文件的差异
git diff 分支名 [--stat/文件名]
# 分支合并 建议按以下步骤操作
# 1. 以要合并的某一个分支为蓝本新建本地合并分支
# 2. 将要合并的分支合并合并至本分支(git merger 其余要合并的分支名)
# 3. 查看是否冲突,对比两个分支内容处理冲突,【确认无误后,将该分支合并至其他分支】
# 4. 删除刚新建的本地合并分支【处理其他分支】
git merge 分支名
# 校验是否存在待合并的代码并删除本地分支
git branch -d 分支名
# 校验是否存在待合并的代码并删除远程分支
git branch -r -d origin/分支名
git push origin --delete 分支名
# 强制删除本地分支
git branch -D 分支名
# 强制删除远程分支
git branch -r -D origin/分支名
git push origin --delete c分支名

代码管理

# 代码拉取
git pull origin 分支名
# 代码提交
# (./文件路径) 必填参数, .代表提交所有新增文件;文件路径代表进提交指定文件路径的新增
git add (./文件路径)
git commit -m 备注
git push origin 分支名
# 针对只有修改没有新增的内容且全量提交可采用如下方式提交
git commit -a -m 备注
git push origin 分支名

实战使用

实现代码管理中一些常见问题的解决

撤销commit操作

针对commit误操作此,处提供三种解决方案用于撤销commit操作:

  1. 撤销commit操作的同时撤销add操作并恢复本地代码至未修改前
# ^代表提交次数,一个^代表一次commit提交。也可以写成HEAD~1。后面的数字代表提交次数
# 以下代码实现同样的功能
git reset --hard HEAD^^
git reset --hard HEAD~2
  1. 撤销commit操作,同时撤销add操作,保留修改的内容
git reset --soft HEAD^
# 撤销add操作
git reset HEAD
  1. 撤销commit操作,保留修改的内容
git reset --soft HEAD^

项目中包含子项目(其他git项目)提交

  1. 进入子项目目录,参照上述提交代码方案提交代码
  2. 进入主项目提交子项目关联id(执行上述提交代码方案2)

修改历史

git blame 文件名

该命令输出结果是针对文件每一行,显示修改id、作者、时间、行内容(commit id + author + commit date + line content)

git log 文件名

显示这个文件的修改记录。如果要具体看改了什么,找到对应的commit_id,然后 git show commit_id。