git 命令操作

配置全局name和email 生成秘钥:

  1. git config --global user.name ""
  2. git config --global user.email "[email protected]"
  3. ssh-keygen -t rsa -C "起个名字作为标识"
  4. git 中拷贝公钥文件(id_rsa.pub)中的信息到 gitlab ssh设置中
  5. 设置提交环境别名 .gitconfig
    文件下添加 [includeIf "gitdir:E:/HbuilderProjects/WorkProjects/"]
    path =.gitconfig_my
    同目录创建.gitconfig_my
    [user]
    name = DDY
    email = [email protected]
    这样的话 在非E:/HbuilderProjects/WorkProjects目录提交git记录的 名字是全局配置的 否则名字就是DDY

git命令

1. git branch

  1. git branch -a ==>查看本地和远程所有分支
  2. git branch ==>新建分支:
  3. git branch -D ==>删除分支
  4. git push --delete 删除远程分支:

2. git merge

  1. git merge ==>合并某个分支到当前分支下,并自动进行新的提交
  2. git merge --no-commit ==>合并某个分支到当前分支下,不进行新的提交

3. git checkout

  1. git checkout ==>切换到分支的head版本
  2. git checkout ==>放弃指定分支对file_name的修改
  3. git checkout -b ==>在当前分支上创建新分支并将工作区设置为该分支上

4. git reset 不保留历史回退

  1. git log 可以查看提交历史,以便确定要回退到哪个版本
  2. git reflog 查看命令历史,以便确定要回到未来的哪个版本
  3. git reset ==>回退到指定某个版本
  4. git reset HEAD~n ==>向前回退多个版本:
  5. git reset [--mixed] HEAD~n ==>(默认方式)将版本库回退n个版本,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段
  6. git reset --soft HEAD~n ==>将版本库软回退n个版本,所谓软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区
  7. git reset --hard HEAD~n ==>将版本库回退n个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本

5. git revert 保留历史推进 ==> -n == (--no-commit)

A1 ---> A2 ---> A3 ---> A4 ---> A5 ---> A6

  1. git revert -n da1243fsfksfhsdkfhkdshff(版本号) ==>不会把版本往前回退,而是生成一个新的指定版本
  2. git revert --no-commit HEAD~3..HEAD ==>A1 ---> A2 ---> A3 ---> A4 ---> A5 ---> A6 ---> B 你的A4,A5,A6依然在历史里,新的B commit就是你revert掉A4,A5,A6之后的结果,其实就是A3的状态,但历史都保留了

git合并不同url的项目

  1. 使用命令git remote add [shortname] [url] ==> 将老Git url加到我们新Git的本地
  2. 使用命令git remote -v ==>查看远程仓库的情况 可以看三个远程仓库分别名为 gitoa_web、origin ...
  3. 使用命令git fetch gitoa_web ==>刷新远程仓库到本地 字符串 gitoa_web 指代对应的仓库地址了.
  4. 使用命令git merge gitoa_web/master ==>合并项目=> gitoa_web是指代仓库,master指代分支,当然如果有需要也可以合并别的分支过来
  5. 发现不同email地址错误不能成功提交 因为这个commit不是我的 ,把email地址更新成我的再提交就成功了
  6. git remote rm [shortname] ==>删除本地同步的shortname的仓库地址

由于git重新部署安装,数据丢失,需要从本地代码库恢复数据,处理方式:

  1. 找到gitlab上对应的项目组,创建要恢复的项目;
  2. 在本地仓库,执行git remote remove origin,删除原来的地址
  3. 在本地仓库,执行git remote add origin 新的地址 (新的地址在gitlab上查看下)
  4. 执行 git push -u origin 要恢复的分支名

你可能感兴趣的:(git 命令操作)