Git基本操作
svn
一个服务端对应多个客户端,代码全部上传到服务端,协同开发,不好的是如果服务端挂了,那就挂了。重启课恢复。
git 不同,git可以将每一个客户端做为服务器。
Git 工作流程
下载:https://git-scm.com/download 1.从远程仓库中克隆(clone)Git资源作为本地仓库
2.从本地仓库中checkout代码到工作区,然后进行代码修改 --如果本地有已经在修改的项目了(同步远程仓库代码):pill(从远程拉到工作区) 3.在提交前先将代码提交add到暂存区
4.提交修改,commit 提交到本地仓库。本地仓库中保存修改的各个历史版本
5.在修改完成之后,需要和团队成员共享代码时,可以将代码push到远程仓库 ^--------->------pull(Fetch+Merge)--------->---------| | | | -->colne--> v 远程仓库 本地仓库 ---checkout----> 工作区 remote <--push<-- ^ Workspace | | | | commit <------- 暂存区<---add
工作区 -> add 到暂存 -> commit 到本地 -> push 到远程
使用
有很多不需要上传的文件,可右键删除并添加到忽略列表(递归忽略文件或目录/放在文件夹所在的目录)
忽略文件:本质就是创建一个 .gitignore
pycharm设置里version Control下的git
将git安装路径下bin里的git.exe 文件放到Path Git executable里
连接远程仓库: GitHub 码云 gitLab(自己搭建)
-现在我们已经在本地创建了一个Git仓库,想让其他人协同开发 -首先得有GitHub的账号,然后在GitHub上创建一个仓库
-登录有右上角头像旁边的'+'号,New repository
-GitHub有两种同步方式 'https' 和 'ssh' -https基本上不需要配置,但每次提交和下载代码都需要输入用户名和密码 git remote add origi https://github.com/GitHubbiuwy/test.git push到远程仓库:git push origin master -ssh 需要客户端生成一个秘钥对,把公钥放到GitHub的服务器上 在gitbash中生成密匙对:ssh-keygen -t rsa
头像的下拉菜单下的settings里添加公钥 # 可视化的设置里的网络下的SSH客户端改为Git目录下的ssh.exe # 远端下的秘钥选个私钥 创建远程仓库: test.git 仓库地址:git@github.com:GitHubbiuwy/test.git 在git bash下执行:git remote add origi git@github.com:GitHubbiuwy/test.git push到远程仓库:git push origin master 如果出现错误:fatal:remote origin already exists 先执行:git remote origin 再执行上面的命令
如果远程有项目,想克隆下来:
gti clone https://github.com/GitHubbiuwy/test.git
bash方式流程:
git add . # 当前路径提交到暂存区 git commit -m '注释' # 提交到本地仓库,需要注释 git push origin master # 提交到远程仓库
冲突:
-两人改了同一行代码 -出现冲突pull的时候,会保留住你的代码和远程的代码 -解决冲突(和同事商量) -在提交到本地
分支管理
git branch # 查看本地分支 git branch -r # 查看远程分支
-新建分支 git branch 分支名 -同步到远程 git push origin lqztest -切换到分支 git checkout 分支名 -合并代码 -切换到主分支:git checkout master -git merge 分支名 -删除分支 -删除本地:git branch -d 分支名 -删除远程:git push origin --delete <分支名>
在pycharm中使用git
先再setting---git上配置git按装的路径 从远程拉代码vcs-checkoutform..--git 输入远程的地址---点确定 再提交代码之前,先要拉代码(在公司中要做的),就可以能有冲突 解决冲突 push上去就可以了 创建分支,切换分支,右下角 查看操作日志 跟历史版本比较 revert 恢复到远程的代码