代码管理工具:
GIT
 
 
什么是GIT?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
特点:
可以管理各种项目,特别是代码项目,多使用在Linux、Unix系统中
是分布式管理,不同于集中管理,这是git和svn的核心区别
更好的支持分支
拥有全球唯一的版本号
代码安全性更加有保证
开源、方便、快捷、数据传输速度更快、可以无网络操作
 
集中式和分布式:
集中式:
代码集中管理,需要上传到中央服务器,妹妹吃更新都从中央服务器下载
分布式:
每个节点都保存完整代码,没有中央服务器,节点之间相互推送下载完整代码
 
GIT安装:
Linux:

		gap-get install git
配置:
配置工具:
git config
配置级别:
1.系统中所有用户都会使用这个配置
/etc/gitconfig  文件
配置姓名:

				    gie config  --system user.name Paris
配置邮箱:

				    sudu git config --system user.email 1546079656@qq.com
2.作用于当前用户
~/.gitconfig 文件

				gie config  --global user.name Paris

			    sudu git config --global user.email 1546079656@qq.com
3.作用于当前项目仓库
.git/config  文件
配置编译器:

					git config core.editor  vim
查看配置信息:

			git config --list
 
Git命令:
初始化仓库:

		git init  	
将需要Git管理的代码写在Git仓库(目录)中
 
 查看分支状态:

		git status 
默认git的主分支master上工作
 
将文件提交到暂存区:

	    git add file1 file2 ...
        删除暂存区的文件:

	    git rm --cached file
        将暂存区内容保存:

	    git commit -m “string”
        查看提交日志:

	    git log
        查看当前文件和已提交的差别:

	    git diff file
恢复误删的文件:

		git checkout file
文件的移动删除:

		git mv file path
git rm file
回到上一个版本

		git reset --hard HEAD^/版本码
一个^代表一个版本
超过10就HEAD~10
 
去往较新的版本

		git reset --hard 版本码
当退回某个版本后, 比较新的版本就无法通过git log查看
此时使用git reflog 查看  然后通过 git reset --hard
去往新的版本
 
放弃工作区的内容修改:

		git checkout -- file
 
 
创建临时保存工作区:
内容暂时保存不想提交 没有commit的情况下, 如果已经commit就没有意义了

		git stash
查看现有保存的工作区

		git stash list
恢复 到某个工作区:

		git stash apply stash@{1}
恢复并删除上一个工作区:

		git  stash pop
删除指定的工作区:

		git stash drop stash@{1}
清除所有工作区:

		git stash clear
 
分支操作:
什么是分支?
分支即每个人可以获取代码,在此基础上创建自己的分支单独开发
不用考虑别人对代码的使用情况 开发完成后再讲自己的分支合并到主线上
好处:
安全 不影响其他人工作 自己控制进度
 
查看分支:

		git branch
注意:
前面*表示当前所在分支 默认为master
 
创建分支:

		git branch dev_Paris
切换分支:

		git checkout dev_Paris
 
创建并切换分支:

		git checkout -b dev_Paris
将某个分支合并到主线:

		git merge dev_Paris
删除一个分支:

		git branch -d dev_Prais
强制删除一个分支:

		git branch -D dev_Paris
查看分支合并图:

		git log --graph
 
标签管理:
什么是标签?
即在当前工作位置增加快照,保存工作状态
一般用于重要的里程碑事件后添加标签
添加标签:

		git tag v1.0
选择comment_id打标签:

		git tag v0.9 版本码
查看标签:

		git tag
查看标签comment说明:

		git show v0.9
添加标签信息:

		git tag -a v1.1 -m “string” 版本码
 
删除标签:

		git tag -d v0.9
恢复到指定标签:

		git reset --hard v1.0
 
创建共享厂库:
1.创建一个文件夹
mkdir 文件夹
2.设置文件夹的用户所属
chown 所属组:所属用户 文件夹
3.进入文件夹,创建git仓库
cd 文件夹

		git init --bare project.git
4.一般项目名称搜以.git结尾
 
添加远程仓库:

	git remote add origin tarena@127.0.0.1:/home/tarena/git/gitrepo/porjecet.git
向远程仓库推送:

	git push -u origin master
第一次需要加 -u选项
 
获取项目代码:
链接远程贡献厂库

		git remote add origin tarena@127.0.0.1:/home/tarena/gitrepo/project.git
将项目克隆到本地:

		git clone tarena@127.0.0.1:/home/tarena/gitrepo/project.git
 
 
推送其他分支

	git push origin dev_Paris
推送标签到远程仓库

		git push origin --tags  // 推送所有标签

		git push origin v1.0  // 推送指定标签
删除远程分支

		git push  -u  origin :dev_Paris
删除标签

		git push  origin --delete tag v1.0
 
其他获取远程仓库代码命令
 
获取新的分支和标签

		git fetch origin
获取更新的代码

		git pull

GIT: 分布式开发 代码管理工具使用命令大全的更多相关文章

  1. GIT - 代码管理工具之命令集

    GIT 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.它会把你的每次提交的文件的全部内容都会记录下来. GIT特点 速度 简单的设计 对非线性开发 ...

  2. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  3. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  4. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

  5. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

  6. 通过代码管理工具 git 完成一次完整的代码管理过程

    1.从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地 2.将本地代码跟公共远程代码做关联配置 git remote add upstream https://github.co ...

  7. 代码管理工具 (含git、npm、gulp)

    1 Git 分布式代码管理工具(基于Linux,可在本地进行提交)代码同时储存在本地和服务器中 ① Git基本操作命令 (1)初始化,创建初始化仓库 git init ------- 文件初始化,初始 ...

  8. [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

    [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...

  9. 代码管理工具之git的学习

    1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https:// ...

随机推荐

  1. Nodejs与mysql连接池的应用(pool)

    /* * 连接池 连接和缓存的技术 * */ var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit:2 ...

  2. 【题解】洛谷P3959 [NOIP2017TG] 宝藏(状压DP+DFS)

    洛谷P3959:https://www.luogu.org/problemnew/show/P3959 前言 NOIP2017时还很弱(现在也很弱 看出来是DP 但是并不会状压DP 现在看来思路并不复 ...

  3. 前端ajax的各种与后端交互的姿势

    前端中常常用的与后端交换数据的话,通常是要用到ajax这种方法的 但是交互的方式有很多种,很多取决于你后端的属性,我这儿主要列举我目前项目比较常用的两种方式 --一个是我们通用的web api和控制器 ...

  4. 『ACM C++』 PTA 天梯赛练习集L1 | 036-037

    这几天比较忙,所以随便做做水题了,得赶紧把英剧搞完啊啊啊啊啊啊 ------------------------------------------------L1-036-------------- ...

  5. HTML5页面CSS Reset

    /*------------------*//*reset*//*------------------*/* {box-sizing: border-box; -webkit-tap-highligh ...

  6. APSC4xSeries_Ver32.exe在win764位提示缺少DLL错误解决办法

    APSC4xSeries_Ver32.exe在win764位提示缺少DLL错误解决办法 从网上下载oatime_epson-me1清零软件,Stylus4xProgram_Ver32的 解决办法:还是 ...

  7. 472. Concatenated Words

    class Solution { public: vector<string> res; vector<string> findAllConcatenatedWordsInAD ...

  8. 最小化的测试套件minimal_test的使用

    1:需要包含文件文#include <boost/test/minimal_test.hpp> 2:minimal_test内部实现了main(), 因此无需自己编写main()函数, 只 ...

  9. Lambda实战(多练习)

    import org.junit.Test; import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; ...

  10. Go语言的接口与反射

    美女图片没啥用,就是为了好看 本文还在完善中... go总体而言是一门比较好入门的语言,许多特性都很精简易懂,但是接口与反射除外.他们真的让人头疼,不知道是自身资质问题还是怎么着,总是觉得很多书上写的 ...