Git是项目代码管理软件
主要管理逻辑如下:
所有代码保存在远程,本地获取远程代码保存在本地仓库,并于本地工作目录修改代码
修改完成后,提交到本地暂存区,添加必要注释,再尝试提交到远程仓库
若发生冲突,则提交远程失败,可回退到上个版本,修改代码解决冲突,再次提交
相关命令:
git status 【查看代码状态(查出修改的文件)】
git diff 文件A 【查看文件A的具体修改内容】
git add 文件A 【将文件A存入暂存区】
git commit -m "log信息" 【添加注释】
git push origin 本地分支名:远程分支名【将本地分支内容提交到远程分支,若远程分支名不存在则自动新建一个】
git push --set-upstream origin 本地分支名【将本地分支内容提交到远程分支,若远程分支名不存在则自动新建一个,并建立关联,之后直接git push即可】
git log 【查看commit信息,按q退出】
git reset --hard 3e... 【回退到上一个版本号,删除多余代码,3e..是上一个版本号】
git reset --soft 3e... 【回退到上一个版本号,保留多余代码,3e..是上一个版本号】
git checkout 本地分支名【切换本地分支】
git branch 本地分支名A【创建本地分支A】
git branch -d 本地分支名【删除本地分支】
git pull origin 远程分支名【将远程仓库代码拉到本地】
git push origin --delete 远程分支名 【删除远程分支】
git commit --amend 【修改最近一次提交的注释信息,会进入到vim 编辑器,按c进入编辑状态,修改完成后,点击ESC退出编辑状态,接着连续按两次大写字母键 Z保存并退出】
git cherry-pick 3e...【将之前保存的更改再加进到程序中】
git stash 【暂存当前修改内容】
git stash list 【查看暂存内容列表】
git stash apply stash@{x} 【取出暂存列表内第x项暂存内容】
git stash pop 【取出暂存列表内最近一次的暂存内容,即stash@{0}】
git stash clear 【清空所有暂存内容】
git stash drop stash@{x} 【删除第x项暂存内容】
git revert 3e...【回滚某次提交,3e..是该次的commitid,如果没有冲突,继续使用git push origin;
如果有冲突,记得把冲突解了,然后本地跑一下代码,自测一下自己解冲突的代码没问题。
然后再git add ;git commit;git push origin;】
git merge 本地分支名 【合并分支,直接检验二者是否有冲突】
git merge --abort 【取消merging状态,回退到merge之前】
git rebase 本地分支名 【合并分支,从二者不同节点开始逐一比较,相当于逐个cherry-pick】
git checkout -b 本地分支名 origin/远程分支名x1【使用该方式会在本地新建分支x,并自动切换到该本地分支x】