1: 什么是git
2: git安装
(1)直接从比的主机拷贝一个过来
(2)linux: yum安装
(3) windows: 直接现在界面版本安装git
3: 创建代码文件路径并配置git权限
git config --global user.name "XXXX"
git config --global user.email 邮箱
git config -l
ssh-keygen -t rsa -C 邮箱
cat ~/.ssh/id_rsa.pub (将这个秘钥拷贝到远端的自己代码仓库)
4: 下载代码
git lfs install // 安装大文件工具
git clone XXXXX.git // clone远程git网址的代码
git lfs pull // 大文件pull下来
5:新用户clone代码报错:
git config--global http.sslVerify false
git config--global https.sslVerify false
6: git提交代码、修改代码等命令
git remote add 远程主机名 网址 // 在本地添加远程主机
git fetch 远程主机名 // 将远程主机的代码拉下来到本地
git rebase 主机名/分支名 // rebase当前代码到最新远程代码仓的最新基线
----分支类--------
git branch -a //查看所有分支
git checkout -b my_branch upstream/master // 基于远程主机master分支创建并切换到分支my_branch
git checkout -b my_branch // 基于当前所在分支创建并切换到分支my_branch
git checkout 分支名 // 切换到另一个分支
git checkout - //切换到上一次分支
git branch -d 分支名 //删除分支
git branch -m old_name new_name //修改本地的分支名
--------修改提交代码类---------
git diff // 查看当前分支所有的修改点(针对的是没有add的文件)
git diff --cached // 查看已经add进去的文件
git status -uno // 查看修改的文件(只要没有的commit的都会显示)
git add XXX.cpp //将对XXX.cpp文件的修改从add到本地代码git仓
git add -u // 将所有修改的代码add到本地代码git仓
git commit -m "commit注释" // 提交本地的修改
git log //查看本分支的所有修改记录
git push -f 远程主机 本地分支:远端代码仓分支 //本地代码仓push到远端
--------回退类---------
git reset --hard commit_id //将当前commit的代码回退到旧的cmmit_id代码位置。commit回退
git reset --soft commit_id //只是将当前commit回退到旧的cmmit_id代码位置。代码不回退,相当于撤销这次commit而已。
git reset HEAD 文件名 // 将add进去的文件回退出来
git checkout 文件名 // 撤销对文件的修改,这个文件是还没有add进去的文件
git revert commit_id //直接回退某个commit
---------补丁类----------
git log my_branch // 查看my_branch分支所有的提交记录
git show commit_id //显示commit_id的修改记录
git cherry-pick commit_id // 将commit_id的修改commit到当前分支
git diff commit_id1 commit_id2 // 生成commit_id1到commit_id2的diff文件,包括id2,不包括id1.
git format-patch -1 // 在当前的一个相对路径生成一个patch文件。之后放到你需要的代码仓路径上
git format-patch commit_idXX // 生成从commit_idXX到当前最新commit的每一次代码提交
git apply 生成的patch //将这个patch的补丁打到当前分支的代码上
git status -uno 或 git diff
确认无误 git add / git commit
-------git界面设置---------------
linux git颜色设置
git config --golbal color.status auto
git config --golbal color.diff auto
git config --golbal color.branch auto
git config --golbal color.interactive auto