多人合作开发代码提交流程
git pull origin master #更新代码(快捷使用:git pull)
git add . #添加所有的代码
git commit -m "record" #提交代码
git push origin master [-f] #推送代码(快捷:git push), -f强制推送
stash暂存操作
git stash save "record" #带备注暂存
git stash #快捷暂存
git stash pop #应用最近的一次暂存并删除记录
git stash list #查看暂存列表
git stash apply stash@{stash_id} #释放某个暂存
git stash push --message="备注" -- filePath #暂存某个文件并备注,不加备注直接git stash push filePath
当远程仓库无git记录时(新创建的仓库)使用以下命令,推送现有仓库
git remote rename origin old-origin
git remote add origin url # url是git地址
git push -u origin --all
git push -u origin --tags
remote远程操作
git remote rm origin # 删除当前git远程仓库地址
git remote add origin url #添加新的仓库地址
git remote -v #查看远程仓库地址
还原修改的某个文件,可恢复被删除文件
git restore [file]
checkout文件操作
git checkout [commit_id] -- [path] #回退文件到某个版本。
git checkout -- [path] #放弃修改某个文件,相当于回退到上个版本
git checkout [分支名] [文件路径] #将当前分支的文件替换成某个分支文件
回退到上个某个版本
git reset --hard 版本号
从git下载压缩包后关联远程仓库
git init
git remote add origin master(远程仓库名)
git add .
git commit -m "init"
git pull origin master(远程分支名)
log日志操作
git log #查看详细日志信息(提交记录),按Q退出,包含提交人,提交时间,提交ID和备注
git log [-p] filePath/fileName #查看某个文件的日志信息,-p可查看diff
git reflog # 查简略日志信息,包含提交ID和备注
分支操作
git checkout -b new_branch_name origin/branch_name # 基于远程分支
git checkout -b new_branch_name # 基于本地当前分支
git fetch origin branchname:branchname #基于远程分支创建一个本地没有的同名分支
git branch --set-upstream-to origin/master master #设置默认操作远程分支,设置后可使用快捷命令,例如:git pull 相当于 git pull origin master
git branch [-r # 查看远程仓库所有分支] #查看仓库分支
git merge dev #将dev分支合并到当前分支
合并分支后冲突撤回操作
git reflog # 查提交ID
git reset --hard [提交ID]
git checkout [要合并的分支名] [文件路径] #保留本地修改
git reset HEAD^ [file.txt] #本地某个文件冲突后放弃本地修改回退版本,后面如果加文件则表示只恢复该文件到上个版本,不加则是整个项目
diff命令
git diff [--cached当文件已被add进入缓存区后] file # 查看文件已修改内容
放弃修改文件(没冲突情况下)
git checkout -- file|. #放弃修改某个或所有文件
git reset HEAD file(多个文件用空格隔开) #如果文件被add,需要先释放出缓存区
扩展命令
--no-verify #跳过commit提交验证
不常用命令
清除未跟踪文件
// 安全模式:列出将要删除的文件和目录,但不实际删除它们。
git clean -n
// 强制模式:删除列出的文件和目录。
git clean -f
// 如果还想删除未跟踪的目录,可以添加 -d 选项:
git clean -fd