查看远程仓库
git remote -v //查看远程仓库地址
git remote // 查看远程仓库名称
git 修改remote地
要修改origin 可直接修改配置文件config
怎么修改?
git 能识别重命名文件嘛?
命令说明
git -b local origin/master // 取远程分支并在本地分化一个新分支local
git checkout master // 本地切换分支到master
git cherry-pick 1231123// 择优,选择优先内容,后面跟的是commit hash码,取另外一个分支的修改后的hash
查看某一分支的log
git log -1 local // 查看local分支的最近一条log
问题:cherry-pick之后,有冲突怎么解决?,work分支的代码怎么处理
手动修改代码之后,push失败怎么办?
问:push origin HEAD:ref/for/master 是push到哪了?
git 基本操作
git status // 查看文件状态,修改,新增,删除,暂存
git diff // 查看具体修改内容的对比,(工作区与暂存区的内容对比)
git add name// 将文件放到暂存区 name为文件名
git log // 查看项目commit 日志
git log --pretty=oneline // 单行查看日志
git commit -m "修改内容" // 将新的代码提交到版本库。
git reset --hard HEAD^ // 版本回退
git reset --hard [hash] //切换到某个版本,hash是commit log的hash码
git reflog //查看历史命令
git checkout -- <filename> // 撤销工作区的修改(如果暂存区有修改,则从暂存区覆盖当前内容,且暂存区的内容不会初始化,否则从版本库覆盖)
git reset HEAD <fileName> // 删除暂存区尚未提交的修改,不会修改工作区内容。因为如果先暂存a 再将a修改为b,reset 之后,b未变为a
git remote add origin <远程仓库地址> // 关联远程仓库
git push -u origin master // 第一次推送master分支的所有内容; (参数-u是什么意思?)
git push origin master // 推送到远程仓库 origin 代表了远程仓库的名字,(master代表本地当前分支?)
分支
git checkout -b <branchName> // 创建分支
git checkout -b branch-name origin/branch-name // 在本地创建和远程分支对应的分支
git checkout <branchName> // 切换分支
git branch // 查看当前分支
git marge <name> 合并某分支到当前分支
// 分支合并可能存在冲突,当存在冲突时需要手动合并代码,之后提交才能解决冲突。
git branch -d <name> // 删除分支
git log --graph --pretty=oneline --abbrev-commit // 查看分支合并图
git log --graph(图) --pretty=oneline(单行) --abbrev-commit(缩写) // 查看分支合并图,
git push origin <branch-name> // 提交本地分支<branch-name>到远程分支<branch-name>
// 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令
git branch --set-upstream-to <branch-name> origin/<branch-name>。
保留现场
git stash // stash功能,可以把当前工作现场“储藏”,(注意,此命令只保存当前工作区)
git stash pop // 恢复现场,删除储藏
git stash list // 查看快照备份列表
git merge --no-ff -m "merge" dev // 将dev分支合并到当前分支,并做一次提交
强行删除分支
git branch -D <branch name> // -D强行删除分支
git branch -d <branch name> // -d,如果分支存在未合并的代码,会提示