初始化一個Git倉庫屹电,使用git init命令阶剑。
-
添加文件到Git倉庫,分兩步:
- 第一步危号,使用命令git add <file>牧愁,注意,可反復(fù)多次使用外莲,添加多個文件猪半;
- 第二步,使用命令git commit偷线,完成磨确。
要隨時掌握工作區(qū)的狀態(tài),使用git status命令声邦。
如果git status告訴你有文件被修改過乏奥,用git diff可以查看修改內(nèi)容。
HEAD指向的版本就是當(dāng)前版本亥曹,因此邓了,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id; 回退上一個版本git reset --hard HEAD^
穿梭前歇式,用git log可以查看提交歷史驶悟,以便確定要回退到哪個版本。
要重返未來材失,用git reflog查看命令歷史痕鳍,以便確定要回到未來的哪個版本。
-
撤銷修改龙巨,分三個場景
- 場景1:當(dāng)你改亂了工作區(qū)某個文件的內(nèi)容笼呆,想直接丟棄工作區(qū)的修改時,用命令git checkout -- file旨别。
- 場景2:當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容诗赌,還添加到了暫存區(qū)時,想丟棄修改秸弛,分兩步铭若,第一步用命令git reset HEAD file,就回到了場景1递览,第二步按場景1操作叼屠。
- 場景3:已經(jīng)提交了不合適的修改到版本庫時,想要撤銷本次提交绞铃,使用命令git reset --hard commit_id 回退版本镜雨,不過前提是沒有推送到遠(yuǎn)程庫。
-
關(guān)于刪除
- 本地刪除的文件儿捧,已經(jīng)添加到暫存區(qū)了荚坞。使用命令git rm刪除暫存區(qū)文件挑宠,并執(zhí)行git commit命令
- 本地刪錯了,想恢復(fù)回來跟暫存區(qū)文件一樣颓影。執(zhí)行命令git checkout -- file
-
建立遠(yuǎn)程倉庫
- 要關(guān)聯(lián)一個遠(yuǎn)程庫各淀,使用命令git remote add origin git@server-name:path/repo-name.git
- 關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容诡挂;
- 之后每次提交使用命令git push
-
分支操作
- 查看分支:git branch
- 創(chuàng)建分支:git branch <name>
- 切換分支:git checkout <name>
- 創(chuàng)建+切換分支:git checkout -b <name>
- 合并某分支到當(dāng)前分支:git merge <name>
- 刪除分支:git branch -d <name>
- 丟棄一個沒有被合并過的分支揪阿,可以通過git branch -D <name>強(qiáng)行刪除。
- 查看遠(yuǎn)程庫信息咆畏,使用git remote -v;
- 從本地推送分支吴裤,使用git push origin branch-name旧找,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交麦牺;
- 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支钮蛛,使用git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱最好一致剖膳;
- 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)魏颓,使用git branch --set-upstream branch-name origin/branch-name;
-
打標(biāo)簽
- 命令git tag <name> 用于新建一個標(biāo)簽吱晒,默認(rèn)為HEAD甸饱,也可以指定一個commit id;
- 命令git tag可以查看所有標(biāo)簽仑濒。
- 命令git push origin <tagname> 可以推送一個本地標(biāo)簽叹话;
- 命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽;
- 命令git tag -d <tagname> 可以刪除一個本地標(biāo)簽墩瞳;
- 命令git push origin :refs/tags/<tagname> 可以刪除一個遠(yuǎn)程標(biāo)簽驼壶。
參考文檔:
[1]. 廖雪峰Git教程