2019-02-16Git常规操作
在此之前,先将GitHub和本地仓库连接起
安装GItHub(sudo apt-get install git)
第一步:创建github账号
第二步:将本地仓库和远程仓库秘钥配置起来
①ssh-keygen -t rsa -C "854457314@qq.com"(创建本地秘钥)
② ls -a(找到隐藏的ssh文件) 并且 cd .ssh
③(env1) yangguang@Ubuntu01:~/.ssh$ cat id_rsa.pub (查看本地产生的秘钥)
第三步:进入github
①在右上角头像处进入setting 进入 SSH and GPG keys ---->New ssh key
②填入标题和本地对应的秘钥
③回到本地验证是否添加成功
ssh -T git@github.com
在GitHub添加仓库并且本地和远程连接(创建项目)
1.GitHub右上角点击加号选择:New Repository创建仓库
2.连接本地与远程仓库并且将本地仓库文件推送到远程(保证路径是本地工作区)
①echo "# Python1812" >> README.md
②git init (初始化仓库)
③git add .. (将本地仓库文件添加到工作区)
④git commit -m "first commit"
⑤git remote add origingit@github.com:854457314/Python1812 (本地与远程建立连接)
⑥gitgit push -u origin master(将本地内容内容推送到远程)
删除GitHub项目
①首先找到你要删除的项目,点开
②然后找到Settings
③将滚动条滑至底部,找到 Danger Zone 下的 Delete this repository
④这里会弹出一个警告对话框
⑤将该项目名称重新输一遍即可
⑥这里会弹出账号重新确认,将密码在输入一遍确认即可
之后有了修改的操作:
1.git add '自己改动的文件' //提交到缓存区
2.git commit -m ''自己做了那些改动"
3将本地的内容全部推送到远程上
git push origin master
一.安装GitHub
sudo apt-get install git
二.创建版本库
自己的项目
1.定位到自己创建的项目目录下:cd xxx
2.初始化仓库:git init
三.将文件添加到版本库
1.git add '自己改动的文件' //提交到缓存区
2.git commit -m ''自己做了那些改动"
粘贴配置信息进行配置
3.Error提示:
于分支 master 尚未暂存以备提交的变更:
修改: .idea/workspace.xml 修改尚未加入提交
执行下面代码删除 idea/workspace.xml:(git rm -r --cached .idea)
4.git status:查看仓库当前的对应状态
四:回退版本
回退到上一个版本
git reset --hard HEAD^
回到某个具体的版本
git reset --hard commitid
回到未来的版本
git reset --hard 未来的commitid
五.克隆远程
选择克隆路径(可以选择桌面)
git clone git@github.com:账户名和仓库名
(env1) yangguang@Ubuntu01:~/Desktop$ git clone git@github.com:854457314/JQXM
克隆不用连接ssh但是push必须连接ssh
六.创建合并分支
1.创建分支
① 先进入到工作区的目录文件:cd JQXM
②创建同步切换分支:git checkout -b dev
③查看当前分支 git branch
④切换分支 git checkout master
2.合并分支(合并分支前要切换到主分支下面)
git merge dev
3.删除分支
git branch -d dev
七.合并冲突
冲突原因:修改主分支和子分支下同一个文件在最后合并时产生冲突。
①git checkout -b feature1(创建并切换到feature1分支)
③cat README.md (查看README文件)
④git add .(添加文件到暂存区)
⑤git commit -m 'README'(提交文件到分支)
⑥git checkout master(切换到主分支)
⑦cat README.md(查看主分支下的README文件)
⑧vim README.md(修改主分支下的README文件)
⑨git add .(添加文件到暂存区)
⑩git commit -m 'README'(提交文件到主分支下)
git merge feature1(产生冲突)git merge --no--ff -m '123' dev
解决冲突
进入README.md文件中删除一个人的代码保留另一个人的代码。重新提交到主分支。
vim README.md
git add .
git commit -m 'conflict'
git log --graph(查看分支合并图)
八.分支管理问题:
1.如果直接使用git branch -d dev 会彻底删除分支信息
所以在创建分支时要强制禁用fast-forward模式
git merge --no--ff -m '123' dev
--no--ff:禁用fast-forward模式,保留分支的信息
-m '123' 合并子分支的时候产生一个提交的节点
2.git branch(查看工作分支)
3.feature分支
在软件开发的过程中,如果一个新的功能 需要添加进来,那么需要创建一个一个子分支,用来专门开发这个新功能,当新的功能开发完成之后只需要合并到主分支并且删除子分支就可以。
九.多人协作:
多人协作时,大家都会往master或者dev上推送各自的修改
步骤:使用一个github账号,然后将两个电脑上的ssh key添加到github账号下,其中的一个人在github中创建一个远程仓库,两个人都在各自的本地将远程仓库克隆
①在克隆的文件下创建一个子分支并且推送到远程(git check -b dev origin/dev )
②进行开发
③git add .(提交到暂存区) git commit -m 'abc'(提交到本地dev分支)
④git push origin push(推送本地完成的任务)
⑤另一个人拉取远程A的内容进行合并,解决冲突,解决完成之后将整个分支进行push
⑥第二天两个人直接从远程进行克隆