国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

精簡版Git基礎操作(快速上手)

這篇具有很好參考價值的文章主要介紹了精簡版Git基礎操作(快速上手)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

  • Git是一個開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或大或小的項目。
  • Git是Linus Torvalds為了幫助管理Linux內核開發(fā)而開發(fā)的一個開放源代碼的版本控制軟件。
  • Git與常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本庫的方式,不用服務器端軟件支持,各個客戶端都有一個最新版本信息,當服務器故障了,各個客戶端都不會受到影響。# 一、pandas是什么?

示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務而創(chuàng)建的。

一、初始化

設置用戶名

 git config --global user.name "Yaepii Jia"

設置郵箱

git config --global user.email yaepii@126.com

保存用戶名和密碼

git config --global credential.helper store

查看配置信息

git config -l

–global關鍵字:全局配置,所有倉庫生效

–system關鍵字:系統(tǒng)配置,對所有用戶生效

精簡版Git基礎操作(快速上手)


二、新建倉庫

倉庫就是用來存放和管理代碼的一個容器,新建倉庫就是把一個電腦中的文件夾目錄變成git可以管理的倉庫就可以了。
方式一:在電腦本地創(chuàng)建一個倉庫

git init [倉庫名]

精簡版Git基礎操作(快速上手)
下圖中的.git文件記錄了倉庫的信息,這是一個隱藏文件夾,需要用ls -a命令才能顯示,進入到這個目錄,可以使用ls -altr命令顯示詳細信息,當刪除.git文件夾,倉庫也會被刪除。
精簡版Git基礎操作(快速上手)

方式二:從遠程克隆一個已經存在的倉庫

git clone <倉庫地址>

三、工作區(qū)域和文件狀態(tài)

工作區(qū)域分為:

  • 工作區(qū):本地文件夾目錄,實際操作的目錄
  • 暫存區(qū):保存即將提交到git上的修改內容
  • 本地倉庫:存儲代碼和版本信息

精簡版Git基礎操作(快速上手)
工作流程一般是:將工作區(qū)的文件先添加到暫存區(qū),然后通過提交命令一次性提交到本地倉庫。

文件狀態(tài):
精簡版Git基礎操作(快速上手)

四、添加和提交文件

查看當前倉庫的狀態(tài):

git status

精簡版Git基礎操作(快速上手)
將文件添加到暫存區(qū),等待提交:

git add <文件名>
git add .		#將所有文件添加到暫存區(qū)

精簡版Git基礎操作(快速上手)
取消暫存(從版本庫和暫存區(qū)中刪除文件,但不在工作區(qū)刪除文件):

git rm --cached <file_name>

將文件提交到倉庫中:

git commit -m "提交信息"

精簡版Git基礎操作(快速上手)
查看提交記錄:

git log
git log --oneline		#查看簡潔版提交信息

精簡版Git基礎操作(快速上手)

五、回退到之前版本

命令:git reset --param <版本id>
三個參數(shù):

  • soft:保留工作區(qū)和暫存區(qū)所有內容
  • hard:刪除工作區(qū)和暫存區(qū)所有內容
  • mixed:默認,刪除暫存區(qū)內容,保存工作區(qū)內容
git reset HEAD^		##HEAD表示版本的指針,指向當前版本,^表示上一版本

精簡版Git基礎操作(快速上手)
查看操作的歷史記錄,可以回退到之前某個版本號:

git reflog

精簡版Git基礎操作(快速上手)

六、查看文件差異

查看文件在(不同區(qū)域、不同版本、不同分支)之間的差異,用得不多,因為以后開發(fā)主要是在圖形化工具中使用git。

git diff									#比較工作區(qū)和暫存區(qū)文件的差異(默認)
git diff HEAD								#比較工作區(qū)和版本庫文件的差異
git diff --cached							#比較暫存區(qū)和版本庫文件的差異
git diff <版本1的ID> <版本2的ID> [file_name]	#比較兩個版本文件的差異
git diff HEAD~n HEAD [file_name]			#比較當前版本和上n個版本文件的差異

精簡版Git基礎操作(快速上手)

七、從版本庫中刪除文件

使用這個命令,會將文件從工作區(qū)和暫存區(qū)同時刪除,然后需要再提交一下,更新版本庫中內容

git rm <file_name>

如果想只在暫存區(qū)刪除一個文件,而工作區(qū)不刪除,可以加上–cached參數(shù)

git rm --cached <file_name>

精簡版Git基礎操作(快速上手)

八、.gitignore忽略文件

在.gitignore文件中添加一些文件或文件夾(比如:日志文件.log、編譯中間文件、臨時文件等),可以使得在提交時,將.gitignore中的文件被忽略,不提交。
但是當前.gitignore中的文件不能是已經被添加到版本庫中的文件,當這些文件發(fā)生修改時,git還是會檢測到其內容的修改。
匹配規(guī)則:從上到下逐行匹配,每一行表示一個忽略模式,官網匹配規(guī)則
提示:github上提供了常用語言的忽略文件模板。

九、github遠程倉庫–SSH配置和克隆倉庫

在本地創(chuàng)建一個ssh秘鑰:

ssh-keygen -t rsa -C "your_email@example.com" -b 4096
  • -t 指定密鑰類型,默認是 rsa ,可以省略。
  • -C 設置注釋文字,比如郵箱。
  • -f 指定密鑰文件存儲文件名,一般默認,讓存儲到默認路徑以及默認文件名
  • -b指定密鑰的大小,默認也可以

它會要求輸入Enter file in which to save the key (/home/stephenzhou/.ssh/id_rsa)
這里是要求輸入秘鑰的文件名,我們可以回車使用默認文件名,但當之前已經創(chuàng)建過秘鑰文件,應該再自己設置一個,最好不要用默認。
然后會要求你輸入密碼,這個密碼是在提交時輸入的,和登錄密碼不一樣,輸入完成后會產生兩個文件:id_rsa是私匙,id_rsa.pub是公匙,id_rsa不能告訴任何人,只有公鑰可以,ssh采用的是非對稱加密。
然后再github中,點擊個人頭像,選擇settings,添加ssh公鑰,將pub文件的內容復制進來,然后自定義一個名字,點擊添加,輸入登錄密碼后就完成了添加。
精簡版Git基礎操作(快速上手)
精簡版Git基礎操作(快速上手)
然后在本地端使用git clone命令就可以拷貝某一個項目到本地文件夾下(不需要git init初始化倉庫,直接在一個普通文件夾下git clone即可)

git clone git@github.com:xxxxx.git

精簡版Git基礎操作(快速上手)
本地倉庫和遠程倉庫是兩個地方,在本地倉庫進行修改后,遠程倉庫不會同步修改內容,需要一種機制將它們之間關聯(lián)起來,這里用到兩個命令:git pull(拉取:將遠程倉庫的修改同步到本地)git push(推送:將本地倉庫的修改同步到遠程倉庫)
精簡版Git基礎操作(快速上手)

cd remote-repo_name
vim hello.txt
git add .
git commit -m "first commit"
git push

精簡版Git基礎操作(快速上手)

十、關聯(lián)本地倉庫與遠程倉庫

一般來說當我們在本地倉庫寫完本地倉庫后,在github上創(chuàng)建了一個空的倉庫,用以下命令,將他們關聯(lián)起來:

git remote add <remote_name> <url>

remote_name:遠程倉庫的別名,一般填origin
url:遠程倉庫的git鏈接

當從github上clone下來一個倉庫后,就不用上面這行代碼了,git自動建立了本地倉庫和遠程倉庫的鏈接。
查看當前倉庫對應的遠程倉庫的別名和地址:

git remote -v

指定分支的名稱為main:

git branch -M main

將本地倉庫的main分支和遠程倉庫的main分支關聯(lián)起來**(本地倉庫提交了文件之后,push提交才能在github上顯示出來)**:

git push -u origin main

-u:將本地倉庫分支與遠程倉庫分支一起合并
精簡版Git基礎操作(快速上手)
從遠程倉庫拉取修改內容:

git pull <romote_name> <romote_branch>:<local_branch>

刪除遠程倉庫:

git remote rm <remote_name>

十一、分支

分支類似于版本庫中的不同版本,可以獨立存在和提交,分支可以使得一個項目的各個模塊實現(xiàn)獨立開發(fā)與測試,提高了整體項目的工作效率。
查看當前倉庫的所有分支:

git branch

創(chuàng)建一個新的分支:

git branch <branch_name>

切換分支:

git checkout <branch_name>

精簡版Git基礎操作(快速上手)
但是使用這個命令切換分支可能會存在一些問題:因為checkout不僅可以切換分支,還有恢復文件的功能,當分支名和文件名相同時,就會出現(xiàn)歧義,默認會切換分支。
語義明確的切換分支:

git switch <branch_name>

精簡版Git基礎操作(快速上手)
切換回main分支,使用ls命令發(fā)現(xiàn),沒有dev.txt類型的文件夾,這是因為在dev分支進行了修改還沒有合并到main分支中。
精簡版Git基礎操作(快速上手)
將不同的分支合并到當前的分支中,當前分支為目標分支:

git merge <被合并的分支名>

精簡版Git基礎操作(快速上手)
合并后會自動進行一次提交,Windows下會使用默認的提交信息,使用以下命令可以修改提交信息,也可以在執(zhí)行命令時加上-m參數(shù):

git commit --amend

精簡版Git基礎操作(快速上手)
在命令行中查看分支圖:

git log --graph --oneline --decorate --all

精簡版Git基礎操作(快速上手)
刪除已完成合并的分支:

git branch -d <branch_name>

如果這個分支沒有被合并,需要用-D參數(shù)進行強制刪除:

git branch -D <branch_name>

精簡版Git基礎操作(快速上手)

十二、解決合并沖突

如果兩個分支修改了同一個文件的同一行代碼,就會發(fā)生合并沖突。
創(chuàng)建feat分支,并在feat分支下對main1.txt文件進行修改,然后提交:

git branch feat
git switch feat
vim main1.txt
git commit -am "feat:1"			#加上-a參數(shù)可以同時完成暫存和提交兩個動作

返回main分支,然后在main分支下對main1.txt文件進行修改,然后提交:

git switch main
vim main1.txt
git commit -am "feat:1"			#加上-a參數(shù)可以同時完成暫存和提交兩個動作

合并兩個分支,提示自動合并失?。?/p>

git merge <被合并的分支名>

精簡版Git基礎操作(快速上手)
可以使用git status查看沖突:
精簡版Git基礎操作(快速上手)
這時就需要手動修改文件內容,解決沖突,也可以使用以下命令終止合并:

vim main1.txt
git commit =am "merge conflict"		#修改后再次提交
git merge --abort					#終止合并

回退和rebase

rebase中文意思是“變基”,也是用來整合分支的,可以在任意分支上使用rabase命令整合分支,整合完都是一條直線,但順序會有所不同:

  • 如果在dev分支上使用rebase命令,dev分支的提交會整合到main分支后面
  • 如果在main分支上使用rebase命令,main分支的提交會整合到dev分支后面

恢復已合并的分支:

git checkout -b <branch_name> <branch_id>

精簡版Git基礎操作(快速上手)
切換到dev分支,執(zhí)行命令進行rebase合并:

git switch dev
git rebase main

精簡版Git基礎操作(快速上手)
切換到main分支,執(zhí)行命令進行rebase合并:

git switch main
git rebase dev

精簡版Git基礎操作(快速上手)
Merge合并:

  • 優(yōu)點:不會破壞原分支的提交歷史,方便回溯和查看
  • 缺點:會產生額外的提交節(jié)點,分支圖比較復雜

Rebase合并:

  • 優(yōu)點:不會新增額外的提交記錄,形成線性歷史,比較直觀和干凈
  • 缺點:會改變提交歷史,改變了當前分支branch out的節(jié)點,避免在共享分支中使用

其他命令

1.打標簽

給當前的提交打上標簽,通常用于版本發(fā)布:

git tag <tag_name>

2.儲藏當前工作現(xiàn)場

在開發(fā)過程中,在一個分支開發(fā)新的功能,還沒開發(fā)完畢,做到一半時有反饋需要處理緊急bug,但是新功能開發(fā)了一半又不想提交,這時就用到了stash命令,儲藏當前工作現(xiàn)場:

git stash save “message” 將當前工作現(xiàn)場存儲到堆棧中
git stash list 查看所有stash
git stash pop 恢復最近一次stash,并在list中刪除這次stash
git stash pop stash@{n} 恢復指定的stash,stash@{0}表示最近的stash
git stash apply n 恢復指定的stash,但不會再list中刪除
git stash drop stash@{n} 在list中刪除指定的stash
git stash clear 刪除所有stash

3.git pull 和 git fetch

  • git fetch是將遠程主機的最新內容拉到本地,用戶在檢查了以后決定是否合并到工作本機分支中。
  • git pull 則是將遠程主機的最新內容拉下來后直接合并,即:git pull = git fetch + git merge,這樣可能會產生沖突,需要手動解決。

git fetch用法:

git fetch <romote_name> 				#將某個遠程倉庫的更新全部取回本地
git fetch <romote_name> <branch_name> 	#將某個遠程倉庫的某個分支更新取回本地

git pull用法等于:

git fetch <romote_name> <branch_name> 	#將某個遠程倉庫的某個分支更新取回本地
git merge FETCH_HEAD    				#將拉取下來的最新內容合并到當前所在的分支中

git pull用法:

git pull <romote_name <remote_branch_name>:<local_branch_name>

一般工作流程:

git fetch  							#代碼拉取到本地之后
git branch 							#查看分支
git switch <remote_branch_name> 	#切換到遠程分支

注意

git add.時出現(xiàn)警告:LF will be replaced by CRLF the next time Git touches it

CR為回車符, LF為換行符。Windows結束一行用CRLF, Mac和Linux用LF。
與core.autocrlf參數(shù)有關:
false表示取消自動轉換功能。適合純Windows
true表示提交代碼時把CRLF轉換成LF,簽出時LF轉換成CRLF。適合多平臺協(xié)作
input表示提交時把CRLF轉換成LF,檢出時不轉換。適合純Linux或Mac

Windows平臺下默認設置為true,警告不用管它,這是合理的;Linux平臺下把這個參數(shù)設置為input即可。
設置方法:

git config --global core.autocrlf false/true/input

總結

推薦這個B站教程,滿滿干貨,視頻制作精簡且高質量,UP聲音好聽,沒有廢話?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-500046.html

到了這里,關于精簡版Git基礎操作(快速上手)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包