常用命令:
查看不同级别的配置文件:
#查看系统config
git config --system --list
#查看当前用户(global)配置
git config --global --list
设置用户名与邮箱(用户标识,必要):
git config --global user.name "kuangshen" #名称
git config --global user.email 24736743@qq.com #邮箱
创建全新的仓库,需要用GIT管理的项目的根目录执行:
# 在当前目录新建一个Git代码库
$ git init
克隆远程仓库
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url] # https://gitee.com/kuangstudy/openclass.git
查看文件状态
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
# git add . 添加所有文件到暂存区
# git commit -m "消息内容" 提交暂存区中的内容到本地仓库 -m 提交信息
#文件的四种状态:
版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
设置本机绑定SSH公钥,实现免密码登录!(免密码登录,这一步挺重要的,码云是远程仓库,我们是平时工作在本地仓库!)
# 进入 C:\Users\Administrator\.ssh 目录
# 生成公钥
ssh-keygen
git分支中常用指令:
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
Git的工作原理:
- Workspace:工作区,就是你平时存放项目代码的地方
- Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
工作流程:
git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
一、将项目托管到gitee
1、注册用户、建库(略)
2、下载Git for windows工具
3、桌面右击打开Git Bash
命令和Linux差不多
找到要托管的代码文件(直接到代码文件右击打开git bash)
可以参考(148条消息) 如何将本地代码上传到 gitee_上传代码到gitee_海绵宝宝不喜欢侬的博客-CSDN博客
(1)先新建Gitee仓库,克隆仓库到本地
git clone 地址
(2)把要托管的文件夹传到刚下载的文件夹里(或者直接将要托管的文件拖到刚克隆的文件夹下)
cp -r 需要托管的文件夹 克隆生成的文件夹
(3)进行如下操作:
如图:我们将工作区代码上传到Romote,需要经历几个步骤
a. 放到暂存区
git add .
b. 放到本地版本库
git commit -m "提示信息,随便输入"
可能还需要配置用户名和邮箱
git config --global user.name "自定义用户名"
git config --global user.email "邮箱地址"
查:
git config user.name
git config user.email
c. push到master
git push
二、多人协作开发流程
- 邀请多人开发
- 每人对各种的开发功能创建分支
- 合并他人分支并上传到自己分支
feature是普通开发人员分支
master和develop为保护分支,不允许普通开发人员合并和上传分支,由管理员管理
查看当前用户
git config --global --list
查看分支
git branch -a
(1)个人分支: 用户选择一个自己的分支(将自己要写的部分项目写到自己的分支里,后面在合并)。
#现在比如说,我们需要stangtang-txt写一个stangtang.txt文件(相当于是切换到stangtang-txt分支,然后写代码)
#1、切换分支(创建并切换)
git checkout -b stangtang-txt
#2、写文件
vim stangtang.txt
#3、将项目从工作区加入到环境区
git add .
#4、从暂存区提交到本地库
git commit -m "提一次提交"
#5. push分支
git push origin stangtang-txt
#6.最后由管理员合并
解决冲突:用户同时修改统一(一个是只在gitee项目中修改,另一个在gitee bash上修改)分支内容,这时会有冲突(gitee bash上修改后提交失败)
解决:
a. 在gitee bash上修改时,先要将修改的分支拉下来(pull)
git pull origin stangtang-txt
b. 然后在修改内容
vim stangtang.txt
#后面操作相同
#3、将项目从工作区加入到环境区
git add .
#4、从暂存区提交到本地库
git commit -m "冲突解决了"
#5. push分支
git push origin stangtang-txt
(2)多人分支,合并分支
a. 首先查看分支
git branch
b. 新建分支user,然后切换到user分支
//方式一:先建立分支,然后切换
git branch user
git checkout usr
//方式二:一步到位
git checkout -b user
c. 检查当前分支否是user,检查当前分支状态,检查是否有文件增加或者修改
git branch
git status
d. 将代码添加到暂存区,填写提交信息
git add .
//或者
git commit
//提交信息
git commit –m “完成用户管理”
e. 把本地user分支推送到云端,同时以user进行保存:
git push –u origin user
f. 切换到master主分支,从主分支上把user代码合并:
git checkout master
git merge user
g. 把本地master分支代码推送到云端保存:
git push
这样我们就成功吧user分支里的代码合并到master里面了。这里的合并操作参考Gitee码云合并分支
三、总结
(1)在gitee建立仓库
(2)在项目保存地址打开Git Bash
(3)复制地址,克隆
(4)将需要托管的项目文件拷贝到刚下载的文件夹内(如上图 forum-system)
(5)进入文件夹,查看分支,创建分支
(6) 放到暂存区
(7)放到本地版本库
(8)push到分支
到此结束....................................
更新代码后
(1)在项目内点击Git Bash
(2)将本地仓库中的文件推送至远程仓库中(分支)
git pull origin feature/forum-user
(3)添加项目目录下所有文件至本地仓库。
git add .
(4)使用如下命令加入注释提交。
git commit -am "备注"
(5)提交代码,更新远程仓库。
git push origin eature/forum-user
到此结束................
最后,最后,最后的总结: 在使用gitee托管项目时,团队开发我们应该注意建立分支。成员根据自己的开发任务建立自己的分支来托管代码,最后再由仓库管理员进行分支合并。
本地仓库搭建:
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
1、创建全新的仓库,需要用GIT管理的项目的根目录执行:
# 在当前目录新建一个Git代码库
$ git init
2、执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。
克隆远程仓库:
1、另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地!
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url] # https://gitee.com/kuangstudy/openclass.git
2、去 gitee 或者 github 上克隆一个测试!