Git 操作

1.svn和git的区别

1.svn是集群式管理,就是版本控制都在服务器上
        缺点:万一服务器挂了,name公司的多人协同开发和版本控制受阻

2.git 是分布式管理,服务器和客户端都有版本控制的能力,都能进行代码的提交合并

2.git和svn的表现形式

1.svn 会在每个文件夹下创建一个.svn的隐藏文件
     项目体积相对git管理的项目管理要大
      冲突相对git管理的项目要多

2.git 只会在根目录下创建一个.git隐藏文件夹
        项目体积相对svn管理的项目药效
        冲突相对svn管理的项目要少

3.git和svn的各个用途

svn  公司内部用,一般不会公布出去
git   开源项目用,单人开发常用

4.svn和git的操作流程

svn 服务器---> 客户端  --->服务器
git  服务器--->本地---> 客户端--->本地--->服务器

Git的指令操作
1.创建本地项目文件test

/user/haha/Desktop/test

2.在本地项目文件目录下,创建本地仓库(版本控制)

cd  /user/haha/Desktop/test
git init

3.在项目文件里创建hello.py文件,用于版本控制
4.修改文件之后,查看修改之后和之前的对比

git diff

* 绿色表示新增,红色表示删除 / 修改

5.把新建的hello.py文件添加到本地仓库(版本控制)里面

git add .   或者  git add 文件名

6.查看当前版本控制里面的文件状态

git status
* 红色表示新建文件或者新修改的文件,都在‘工作区’
* 绿色表示文件在‘暂存区’

提示 : 终端命令git add . 只是把文件从工作区添加到暂存区,此时还没有到本地仓库,要到本地仓库需要 git commit .
7.在commit之前命令之前,需要设置个人信息,可以添加--global参数,给所有的git仓库添加一个统一的配置项。这个配置项保存在~/.gitconfig文件中

配置用户名   git config --global user.anme"张三"
配置邮箱  git config --global user.email "zhangsan@163.com"

也可以给这一个Git仓指定自己的用户名和邮箱。会保存在当前仓库.git/config文件里

配置用户名 git config user.name "zhangsan"
配置邮箱 git config user.emial "zhangsan@163.com"

8.把文件从暂存区提交到本地仓库

git commit -m '描述操作'

9.把文件从暂存区提交到本地仓库之后,再查看版本控制里面的文件状态

git status

10.把先由工作区添加到暂存区,再提交到本地仓库合并成一句命令

git commit -am ' 描述操作'

11.查看所有的详细的历史版本

git reflog(可以看到被删除和退回的提交记录)
或者
git log (不能看到已经删除和回退的提交记录)

12.回到某个置顶版本

git reset --hard 版本号前6位

git 远程服务器

1.复制码云里的项目下载地址,使用git clone 命令将码云里的项目下载到本地。这个过程中,需要输入码云的注册用户名和码云用户密码。注意:只有被添加到项目里的成员和管理者才能下载代码
2.代码的提交:当用户在本地操作完数据以后,需要调用git push将修改推送至远端服务器

1.从远端服务器获取最新的代码

git pull 

2.修改本地文件

vim hello.py

3.将修改提交到本地仓库

git add hello.py 
git commit -m '修改了hello.py

4.将本地仓库修改推送至远端服务器

git push

Git代码冲突
1.容易出现的冲突操作方式

1.多个人同时操作了同一个文件
2.一个人一直写代码但是不提交
3.修改代码之前,不更新代码
4.提交之前,不更新最新代码
5.擅自修改同时代码

2.避免冲突

1.养成良好的代码习惯,先pull再修改,修改完立即commit和push
2.一定要确保自己正在修改的文件是最新版本
3.分模块开发,各自开发各自的模块
4.如果要修改公共文件,一定要先确认有没有人正在修改
5.下班前一定要提交代码,上班第一件事拉去最新的代码
6.不要擅自修改同时的代码

Git 分支
分支的作用

假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还
没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨
大风险。 现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上
正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这
样,既安全,又不影响别人工作。

分支的本质

Git分支的其实本质仅仅是指向提交对象的可变指针。 Git 的默认分支名字是 master。 在多次提交操作之后,
你其实已经有一个指向最后那个提交对象的master
支。 它会在每次的提交操作中自动向前移动。

.git/HEAD这个特殊指针来表示当前到底在哪个分支。
1.创建本地分支
查看所有分支

git branch 

新建一个分支

git branch name

切换到置顶分支

git checkout 分支名 

2.合并分支
首先切换到主分支

git checkout master

.get/HEAD指向当前所处分支

cat .git/HEAD

将develop分支里的内容合并到master主分支

git merge develoop

3.查看本地分支远程分支的映射关系

git branch -vv

4.创建远程分支拉去到本地

git pull origin develop:develop  #将远端上develop分支拉去到本地的develop分支

6.删除远端分支

git push origin --delete develop #将远端分支develop删除

7.分支的其他的相关指令
git fetch 只是拿到远端的分支的最新commit_id,并不会自动合并,需要手动合并

git fetch origin test  #将远端test的最新commit_id获取到本地
git merge origin/test test # 将远端的test的修改内容合并到本地的test分支

git rebase 用法和git merge类似

git rebase  # 如果在合并时有冲突,需要手动解决冲突
git add .    # 标记为已解决所有冲突
git rebase --abort  # 终止合并
git rebase  --continue  # 解决完冲突以后,不在git commit,
而是使用git rebase --continue 提交修改冲突后的数据

SSH连接

码云生成部署SSH Key:[http://git.mydoc.io/?t=154712](http://git.mydoc.io/?t=154712)

gitHub生成SSH Key:[https://help.github.com/articles/connecting-to-github-with-ssh](https://help.github.com/articles/connecting-to-github-with-ssh)/
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容