git 命令行常用命令,常见问题,git 仓库迁移新仓库步骤。
配置用户名
git config --global user.name "git"
git config --global user.email "email@example.com"
通过 git init 命令把这个目录变成Git可以管理的仓库
cd my_project
git init
推送本地代码到远程
cd my_project
git init
git remote add origin http://192.168.1.168:8080/aaron/my_project.git
# 添加当前目录所有文件到暂存区
git add .
# 提交到 commit 区(提交区)
git commit -m "init" -a
git push -u origin master
拉项目
git clone http://192.168.1.168:8080/aaron/my_project.git
# 指定分支拉项目
git clone -b dev http://192.168.1.168:8080/aaron/my_project.git
重新拉指定文件
git checkout config/test.yml
重新拉所有文件
git pull
查询状态
git status
提交指定文件修改
- push 后才会推送到 git 服务器;
git commit file_name -m "update info"
提交本地所有修改
git commit -a -m "功能描述"
推送commit内容到git服务器
git push
提交日志查询
git log
# 优化查询显示
git log --pretty=oneline
# 查询指定commit id修改的内容
git diff ce1923d21809421222a1e0bc1301f2
# 查询最后一次commit的内容
git log -n 1
# 查询本地文件修改的情况(与最新的文件)
git diff HEAD -- config/test.yml
# 比较两个版本之间的差距
git diff a0001 b0002
# 查询所有日志,包括回滚前的
git reflog
回滚到指定版本
git reset --hard ce1923d21809421222a1e0bc1301f2
git push --force # 避免使用
切换分支
# 切换本地分支
git checkout dev
# 查询当前分支
git branch
# 切换远程分支
git checkout -b dev_aaron origin/dev_arron
# 查询本地分支对应的远程分支
git branch -vv
创建分支
git branch develop
# 将本地分支推送到远程服务器
git push origin develop
重命名本地分支
git branch -m <oldname> <newname>
# 重命名当前分支
git branch -m <newname>
合并master分支到当前
# -no-ff 可以保存你之前的分支历史。能够更好的查看 merge历史,以及branch 状态。
git merge --no-ff master
删除 branch
# 删除本地 branch
git branch -D aaron
# 删除远程 branch
git push origin --delete feature/aaron
撤销commit,切还原到修改前版本
git fetch --all
git reset --hard origin/master
撤销针对某个文件的操作记录
git reset HEAD config/test.yml
撤销所有本地修改
git reset --hard
撤销 git add,撤销暂存区的修改
- 撤销暂存区的修改,回到最新的提交区的版本;
git reset HEAD file_path
解决冲突(both modified:)
# 解决冲突后,添加文件命令
git add file_path
tag常用命令
# 查询目前的 tag
git tag
# 新增 tag
git tag -a v1.0.1 master -m 'v1.0.1'
# 推送tag修改到 git 服务器
git push --tags
# 删除本地 tag
git tag -d v1.0.1
git 仓库迁移
# 1. 在新 git 上创建新仓库 my_project
# 2. 拷贝老 git 项目
git clone --mirror git@192.168.1.168:aaron/my_project.git
# 3. 设置修改本地 git 项目执行新 git仓库
git remote set-url --push origin git@192.168.1.169:aaron/my_project.git
# 4. 提交变更
git push --mirror
查看 fingerprint 信息
ssh-keygen -lf ~/.ssh/aaron.pub