Git 入门 常用命令 Kaki的博客

Git 入门 常用命令 Kaki的博客

Git常用命令与理解:

1.svn是集中式的版本控制
  Git是分布式的版本控制
  
2.  工作流程如下:
         1.从远程仓库中克隆代码到本地仓库
         2.从本地仓库中checkout代码然后进行代码修改
         3.在提交前先将代码提交到暂存区
         4.提交到本地仓库。本地仓库中保存修改的各个历史版本
         5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

3. 常用的Git代码托管服务
          gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub
          码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
          GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

4.常用命令:
  日常操作:
     设置用户信息 
				   git config --global user.name “itcast”
				   git config --global user.email “hello@itcast.cn”
     查看配置信息
				   git config --list
				   git config user.name
	   
	              通过上面的命令设置的信息会保存在~/.gitconfig文件中
	   
	 
	 创建基本类命令:  
	               
				   touch .gitignore创建文件
	      
				   git init  本地初始化创建本地仓库
				   
				   git clone 远程Git仓库地址    克隆项目、
				   
				   git status 查看文件状态
				   
				   git status -s 简洁查看
				   
				   git add 添加到暂存区
				   
				   git reset 将暂存区的文件取消暂存
				   
				   git commit 将暂存区的文件提交到本地仓库
				   例:git commit -m '日志信息'  文件
				   
				   git pull 是从远程仓库获取最新版本并merge(合并)到本地仓库
				   
				   git push origin [分支] :上传到远程仓库
				   
				   git rm 删除文件
				   
				   git log 查看日志
				    
					删除锁文件
				   $ rm .git/index.lock


 	远程仓库操作:
	   
				   git remote 查看远程仓库
				   
				   git remote -v 详细查看
				   
				   git remote show origin 详细查看
				   
				   添加远程仓库:
				   git remote add <shortname> <url>,默认origin
				   
				   克隆仓库:
				   git clone [url] 
				
				   移除无效的远程仓库:
				   git remote rm

				   从远程仓库中抓取与拉取
				   git fetch 从远程仓库获得最新版本到本地仓库,不会自动merge
				   
				   git pull 是从远程仓库获取最新版本并merge(合并)到本地仓库
				   
				   
				   git pull origin master --allow-unrelated-histories
				   注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,
						 此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),
						 解决此问题可以在git pull命令后加入参数--allow-unrelated-histories
						 
					
				   推送到远程仓库:  远程仓库名     分支名
						  git push [remote-name] [branch-name]        
					 
		 
		 
	   Git分支常用命令:
	   
				   git branch 查看所有本地分支
				   
				   git branch -r 查看所有远程分支
				   
				   git branch -a 查看所有分支
			 

				   //创建分支
				   git branch [分支名] 
				   //切换分支
				   git checkout [分支名] 
				   
				   //推送至远程仓库分支(分支:就是复制一个主分支一莫一样分支)
				   git push origin b1(直接创建)
				   //合并分支
				   git merge b3[当前分支想要合并的分支]
				   
				   分支冲突:
					   有时候合并操作不会如此顺利。 如果你在两个不同的分支中,
					   对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,
					   同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,
					   最后执行git add命令来标识冲突已解决

				   //删除分支
				   git branch -d b1 			
	   
	   
	   *Git标签

				 显示所有标签: git tag
				 
				 查看tag信息:  git show [tag]
				 
				 //创建一个tag
				   git tag v1.0
				   
				 //将标签推送至远程仓库
				  # 提交指定tag		  git push [remote] [tag]
				 
				 //检出标签
				 git checkout -b [branch] [tag]
				 
				 **删除标签
				 #删除本地
				 git tag -d [tag]
				 #删除远程
				 git push origin :refs/tags/[tags]

	   
5.几个定义:
				
			   版本库:.git就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
			   工作目录:包含.git工作目录,写代码的地方
			   暂存区: 是临时保存文件的地方  
			   
			   
			   工作区:写好的代码=>git add 添加到暂存区  => git commit =>添加至版本库,
					   本地仓库=>push推送到git远程仓库

6.Git工作目录下文件的两种状态

				untracked 未跟踪(未被纳入版本控制)
				tracked 已跟踪(被纳入版本控制)
				Unmodified 未修改状态
				Modified 已修改状态
				Staged 已暂存状态
	
7.将文件添加至忽略列表
			  忽略文件的语法
			  
				# no .a files
				*.a
				# but do track lib.a, even though you're ignoring .a files above
				!lib.a
				# only ignore the TODO file in the current directory, not subdir/TODO
				/TODO
				# ignore all files in the build/ directory
				build/
				# ignore doc/notes.txt, but not doc/server/arch.txt
				doc/*.txt
				# ignore all .pdf files in the doc/ directory
				doc/**/*.pdf
				
				
		强制pull,与强制push		
				第二种方法:
           使用这个强制的方法
           
           git pull origin master --allow-unrelated-histories
           
           后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并
           
           后面再push就可以了 git push gitlab master:init

如何解决failed to push some refs to git

可以通过如下命令进行代码合并【注:pull=fetch+merge]
git pull --rebase origin master

	linux操作:
	    rm -rf /home/git/pinyougou.git
        git init --bare /home/git/pinyougou.git
        # 授予git用户为 /home/git目录及所有子目录的拥有者
        chown -R git:git /home/git

欢迎点赞关注收藏哦 ,码云搜索KakiNakajima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KakiNakajima

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值