标签:开始 拉取 控制 git add 流程 mamicode 工作区 日志信息 commit
版本控制
版本控制工具
? 思想:版本控制
? 实现:版本控制工具
集中式版本控制工具:CVS、SVN、VSS······

分布式版本控制工具:Git、Mercurial、Bazaar、Darcs······







代码托管中心的任务:维护远程库


git init命令:git init
效果:

git config项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name xxxxgit config user.email xxxx
系统用户级别:登录当前操作系统的用户
git config --global user.name xxxxgit config --global user.email xxxx
级别优先级:
git status? 查看工作区、暂存区状态
git add [file name]? 将工作区的"新建/修改"添加到到暂存区
git commit -m "commit message" [file name]? 将暂存区的内容提交到本地库
git refloggit log 显示每个版本的全部信息

git log --pretty=oneline 每条记录在一行显示

git log --oneline 每条记录在一行显示同时hash值只显示一部分(只显示当前版本之前的版本)
git reflog HEAD@{n} 移动到当前版本需要移动n步

git reset --hard
git reset --hard [局部索引值(hash值)]git reset --hard HEAD^git reset --hard HEAD~ngit diff [文件名]git diff [文件名]


history
创建分支
git branch [分支名]
查看分支
git branch -v
切换分支
git checkout [分支名]
合并分支
git checkout [分支名]git merge [要被合并的分支名]解决冲突
冲突的表现

冲突的解决
git add [文件名]git commit -m "日志信息"
GitHub: https://github.com/
在Git命令行中输入:
ssh-keygen -t rsa -C "码云账号"
在C:\Users\用户\下会生成一个.ssh的文件夹,.ssh内id_rsa是私钥,id_rsa.pub是公钥
登录码云,个人主页/个人设置/安全设置/SSH公钥

本地测试连接远程库是否成功
ssh-T git@github.com ssh-T git@git.com


为什么?
远程库的链接很长,使用不方便
每次都要登录去复制
命令:
git remote add origin [远程库url]
查看远程库:
git remote -v

删除已有的远程库
git remote rm origin
命令:
git push origin master
注1:origin是要推送的远程库
注2:master推送的分支


命令:
git clone [远程库地址]

效果:
完整的把远程库下载到本地
创建origin远程库地址别名
初始化本地库


git fetch [远程库别名] [远程分支名]git merge [远程库别名] [远程分支名]git pull [远程库别名] [远程分支名]如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取。
远程库为非空仓库时,默认时一个新项目,和本地库时两个不同的项目,不能直接推送
解决:
先从远程库克隆岛本地,再修改。

拉取远程库代码,再合并为一个库
关联远程库
git remote add origin [远程库url]
拉取远程库代码到本地,并自动合并到本地库
git pull origin master --allow-unrelated-histories
推送
git push -u origin master
强制推送到远程库(不推荐,容易覆盖远程库原先的内容)
git push -f origin master
协同开发流程:
项目经理上传初始化的框架到远程仓库
github/gitee 远程库添加SSH帐号
ssh-keygen -t rsa -C ‘远程库账号‘
本地项目初始化框架上传到服务器
服务器新建空项目
修改维护本地项目框架
和远程服务器建立连接
提交到远程服务器
Fork项目到自己git库

本地克隆/下载项目 维护修改
工作完成后,发从合并请求给项目经理
项目经理审核,是否合并并代码!
标签:开始 拉取 控制 git add 流程 mamicode 工作区 日志信息 commit
原文地址:https://www.cnblogs.com/yanadoude/p/13194389.html