1. 程式人生 > 實用技巧 >GIT操作遠端倉庫

GIT操作遠端倉庫

GIT連線遠端倉庫

配置SSH KEY

# 生成ssh祕鑰 郵箱為github/碼雲的郵箱	
jason@jason:~$ ssh-keygen -t rsa -C "[email protected]"	# 一路回車即可
jason@jason:~/.ssh$ pwd

jason@jason:~/.ssh$ ls

jason@jason:~/.ssh$ cat id_rsa.pub 	# 檢視公鑰

配置碼雲SSH KEY

登入碼雲賬戶進入設定介面

jason@jason:~/.ssh$ ssh -T "gitee.com"	# 驗證是否能登入

上傳程式碼

配置程式碼倉庫

在碼雲建立程式碼倉庫

上傳本地倉庫程式碼

jason@jason:~/Desktop/git_test$ git remote add origin https://gitee.com/SR-Program/git_test.git	# 根據提示遠端連結倉庫
        
jason@jason:~/Desktop/git_test$ git push -u origin master # 將本地倉庫推送到遠端倉庫
  • -u將本地倉庫推送到遠端倉庫
  • 由於第一次推送此時會將本地master分支與遠端master分支關聯
  • 以後推送只需要git push即可 省略origin master

克隆倉庫

建立倉庫

克隆倉庫

jason@jason:~/Desktop/clone_test$ git clone https://gitee.com/SR-Program/clone_test.git

jason@jason:~/Desktop/clone_test$ ls

分支合併

在 版本回退裡,你已經知道,每次提交,Git都把它們串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在Git裡,這個分支叫主分支,即master分支。HEAD嚴格來說不是指向提交,而是指master,master才是指向提交的,所以,HEAD指向的就是當前分支

建立分支

jason@jason:~/Desktop/git_test$ git checkout -b dev		# 建立並且切換到分支dev
    '''
   git checkout -b	相當於如下命令 
     git branch dev		建立分支
   git checkout dev	切換分支
    '''

jason@jason:~/Desktop/git_test$ git branch 	# 列出所有分支 當前分支前面會加上*號

合併分支

# 首先使用分支檔案在測試資料夾新增資料
jason@jason:~/Desktop/git_test$ echo 333 >> test.txt 	# 新增測試資料

jason@jason:~/Desktop/git_test$ git add test.txt 	# 加入快取區

jason@jason:~/Desktop/git_test$ git commit -m "dev test add 333"	# 提交
jason@jason:~/Desktop/git_test$ git checkout master 	# 切換分支

jason@jason:~/Desktop/git_test$ cat test.txt 	# 檢視檔案內容
jason@jason:~/Desktop/git_test$ git merge dev 	# 用於將其餘分支合併到當前分支

jason@jason:~/Desktop/git_test$ cat test.txt 

分支衝突

jason@jason:~/Desktop/git_test$ git checkout -b fenzhi1		# 建立切換新的分支

jason@jason:~/Desktop/git_test$ echo 444 >> test.txt 		# 新增新的測試資料
 
jason@jason:~/Desktop/git_test$ git add test.txt 		# 新增暫存區

jason@jason:~/Desktop/git_test$ git commit -m "add 444 to test"		# 提交
	
jason@jason:~/Desktop/git_test$ git checkout master 	# 切換master分支

jason@jason:~/Desktop/git_test$ echo 555 >> test.txt 	# 新增測試資料
    
jason@jason:~/Desktop/git_test$ git add test.txt 

jason@jason:~/Desktop/git_test$ git commit -m "add 555 to test"

jason@jason:~/Desktop/git_test$ git merge fenzhi1 		# 合併分支
 
jason@jason:~/Desktop/git_test$ cat test.txt 	# 檢視合併內容
  • <<<<<HEAD是指主分支修改的內容
  • >>>>>fenzhi1 是指fenzhi1上修改的內容
jason@jason:~/Desktop/git_test$ vim test.txt 	# 修改衝突的檔案 保留期望存在的程式碼

jason@jason:~/Desktop/git_test$ git add .

jason@jason:~/Desktop/git_test$ git commit -m "解決衝突"