git
1.基本使用
git help git:檢視完整版的git幫助。
git init:初始化git,主要是在當前目錄生成.git的資料夾。
git add:將檔案新增到git倉庫
git commit -m 「」:將修改提交,同時備註。
git status:檢視倉庫檔案的修改情況,是否有未提交的修改。
git diff:檢視倉庫檔案的修改點對比。
git reset – hard head:返回指定修改點
git checkout – :返回指定修改點
git log:修改日誌
git relog:記錄每一次命令
git clone:轉殖乙個遠端倉庫
git init --bare:建立乙個裸倉庫,一般用於遠端庫
gti --help:檢視幫助
git config -l:檢視git相關配置
git checkout -b dev:建立dev分支
git branch/checkout/switch dev:切換到dev分支
git branch :檢視當前分支
git branch -d dev:刪除dev分支
git switch -c dev:建立並切換到新的dev分支
git remote -v :檢視遠端倉庫
git checkout – test.txt:將檔案恢復為版本庫里的最新版本
推送push:
當從遠端倉庫轉殖時,實際上git自動把本地的master分支和遠端的master分支對應起來了,遠端倉庫的預設名稱是origin。
建立本地分支和遠端分支的關聯,使用git branch --set-upstream-to branch-name origin/branch-name;
git push origin master:將本地分支master推送到遠端的origin庫
若報錯可能是因為有人先push了,所以需要先pull,merge,然後再push。
master為主分支,需要時刻保持與遠端同步;dev為開發分支,也需要與遠端同步。bug和feature分支可以不用推送到遠端庫。
多人協作的工作模式:
首先,可以試圖用git push origin 推送自己的修改;
如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合併;
如果合併有衝突,則解決衝突,並在本地提交;
沒有衝突或者解決掉衝突後,再用git push origin 推送就能成功!
如果git pull提示no tracking information,則說明本地分支和遠端分支的
鏈結關係沒有建立,用命令git branch --set-upstream-to origin/。
這就是多人協作的工作模式,一旦熟悉了,就非常簡單。
標籤:tag類似branch,但是branch可以移動,tag不可以,tag與commitid綁在一起。
git tag:檢視git
git tag tagname:新建乙個tagname
git show tagname:檢視指定tagname的詳細資訊。
git tag -d tagname:刪除tagname標籤
git push origin tagname:推送tagname標籤到遠端origin庫
git push origin :refs/tags/刪除乙個遠端標籤
忽略特殊檔案:
建立.gitignore檔案,忽略pyc等檔案
thumbs.db
ehthumbs.db
desktop.ini
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
db.ini
deploy_key_rsa
2.使用者名稱或者密碼輸入錯誤之後的解決方法:
git config --system --unset credential.helper
去除之前的使用者名稱密碼,重新clone就行。
3.搭建本地git伺服器
1.首先需要在所有裝置上安裝git服務,包括本地和遠端伺服器。
遠端的伺服器最好使用git init --bare建立乙個裸倉庫,不然本地轉殖的時候會報錯,
也可不建立裸倉庫,需要修改git配置。
2.在本地轉殖遠端倉庫:git clone [email protected]:/home/hk/ott_auto/
4.相關辨析
1.git
git是什麼? git是目前世界上最先進的分布式版本控制系統。
svn是集中式版本控制系統。
git與svn比較
相同:能記錄檔案的所有更改記錄。這樣是為了大量更改後,可以有記錄回到過去,而不用採用 copy 舊**另存為某檔案,然後某個時間從大量檔案中找你需要的歷史記錄,版本控制幫我們做到了歷史記錄的儲存,可以方便地查詢及回滾到過去的某一版本。
區別:分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖(git clone),在本地機器上拷貝乙個完整的git倉庫。
svn 是集中式系統,版本庫是集中放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從**伺服器**得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到**伺服器。集中式版本控制系統是必須聯網才能工作,如果在區域網還可以,頻寬夠大,速度夠快,如果在網際網路下,如果網速慢的話,就不方便了。
git 是分布式版本控制系統,那麼它就沒有**伺服器的,每個人的電腦就是乙個完整的版本庫,這樣,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有乙個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了檔案a,其他人也在電腦上改了檔案a,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
git最為出色的是它的合併追蹤(merge tracing)能力。
4.gitpull,gitclone,gitfetch相關
git clone是從遠端版本庫拉取到本地,從無到有。
git pull=git fetch+git merge,從遠端庫拉取更新並合併。
git fetch是單只從遠端庫拉取更新,但是需要手動merge。
搭建本地git服務
ip 備註192.168.174.129 服務端192.168.174.128 客戶端1.1 在客戶端和服務端都yum安裝git yum install y git1.2 設定免密登陸,兩台都要操作 useradd git 建立git使用者 passwd git 設定該使用者的密碼,不要為6個0 s...
git使用以及問題總結
1 首先你要安裝git工具 1.git安裝 1.先檢視一下未設定前的config cat git config 2.git config user.name xianbai 配置使用者名稱 3.git config user.email xianbai example.com 配置郵箱 ssh ke...
git的使用以及錯誤總結
github與gitee 使用過程中的細節總結 參考廖雪峰的git教程 整體的具體使用只需要跟著這個教程進行就可以了,下面就是記錄一些注意事項 最開始認識到github就是從git clone開始的,就是拷貝下別人的開源 需要注意的是,這個拷貝方法是有多種協議的,最常用的還是ssh和https,ss...