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 “[email protected]”
     查看配置信息
				   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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章