[TOC] #### 1. 用戶配置 ---- 用戶名和郵箱(只是用在提交記錄中的顯示,和是否有權(quán)限提交代碼無關(guān),這是很多人的誤區(qū)) ``` # 全局配置用戶名和郵箱 git config --global user.name "辰風(fēng)沐陽" git config --global user.email "23426945@qq.com" ``` 查看配置 ``` # 查看全局配置的用戶名和郵箱 git config --global user.name git config --global user.email # 也可以使用 cat ~/.gitconfig ``` #### 2. 命令幫助 ---- ``` # 查看命令全面手冊 git help <command> git <command> --help # 只查看命令的參數(shù)選項(xiàng) git <command> -h ``` #### 3. 流水線操作 ---- ``` # 初始化倉庫 git init # 將工作區(qū)文件添加到暫存區(qū) git add . # 將暫存區(qū)文件提交到版本庫 git commit -m 'first commit' # 本地庫關(guān)聯(lián)遠(yuǎn)程倉庫 git remote add origin https://gitee.com/holyking/test-4.git # 將代碼推送到遠(yuǎn)程倉庫 git push -u origin master ``` #### 4. 添加到暫存區(qū) ---- ``` # 將工作區(qū)所有文件添加到暫存區(qū) git add . git add -A # 將工作區(qū)已被追蹤的文件添加到暫存區(qū) git add -u # 刪除工作區(qū)文件,并將這次刪除放入暫存區(qū) git rm [file1] [file2] ... # 停止追蹤指定文件,但該文件會保留在工作區(qū) git rm --cached [file] ``` #### 5. 提交到版本庫 ---- ``` # 將暫存區(qū)文件提交到版本庫 git commit -m <message> # 修正上次提交操作,同時也會將暫存區(qū)文件提交到版本庫 git commit --amend -m <message> ``` #### 6. 遠(yuǎn)程倉庫配置 ---- **語法格式** ``` # 添加遠(yuǎn)程倉庫配置 # url 是 git 遠(yuǎn)程庫地址,name 是給 url 起的別名 git remote add <name> <url> # 修改遠(yuǎn)程倉庫地址 git remote set-url <name> <newurl> # 刪除遠(yuǎn)程倉庫配置 git remote remove <name> ``` **使用示例** ``` # 添加遠(yuǎn)程庫 # 這是平時使用最多的方式,習(xí)慣上大家都將遠(yuǎn)程庫的別名設(shè)置為 origin git remote add origin https://gitee.com/holyking/test-4.git ``` #### 7. 拉取遠(yuǎn)程倉庫 ---- **將遠(yuǎn)程庫拉取到本地** ``` # 拉取遠(yuǎn)程庫的默認(rèn)分支 git clone <url> # 拉取遠(yuǎn)程庫的指定分支 git clone -b <branch> <url> # 拉取遠(yuǎn)程庫到指定目錄 git clone <url> <directory> ``` **拉取方式: https 方式** ``` # 永久記住密碼 git config --global credential.helper store # 拉取遠(yuǎn)程庫時會讓輸入代碼托管平臺的賬號和密碼 git clone https://gitee.com/holyking/test.git # git 會將輸入的賬號密碼存儲在 /.git-credentials 文件中 $ cat ~/.git-credentials https://23426945%40qq.com:liang666@gitee.com # 刪除密碼 git config --global --unset credential.helper ``` **拉取方式: ssh 方式** ```bash # 生成 ssh 公鑰 ssh-keygen -t rsa # 生成的公鑰保存在 ~/.ssh/id_rsa.pub 文件中 cat ~/.ssh/id_rsa.pub # 將生成的公鑰配置到代碼托管平臺,然后使用 ssh 方式拉取倉庫即可 git clone git@gitee.com:holyking/test.git ``` #### 8. 分支管理命令 ---- `git branch` 分支管理 ``` # 查看本地和遠(yuǎn)程分支 git branch -avv # 創(chuàng)建分支 git branch <branch> # 刪除分支 git branch -d <branch> # 強(qiáng)制刪除分支 git branch -D <branch> # 遠(yuǎn)程倉庫刪除了某個分支,本地倉庫還存在該分支,使用以下兩個命令任意一個都可以解決 git fetch --prune git remote prune origin ``` `git checkout` 分支管理 ``` # 切換分支 git checkout <branch> # 創(chuàng)建并切換分支 git checkout -b <branch> # 強(qiáng)制創(chuàng)建分支,然后切換分支 git checkout -B <branch> # 基于標(biāo)簽創(chuàng)建分支 git checkout -b <branch> <tagname> ``` `git push` 分支管理 ``` # 推送到遠(yuǎn)程分支 git push <remote> <branch> # 刪除遠(yuǎn)程倉庫分支 git push <remote> :<branch> ``` #### 9. 標(biāo)簽管理命令 ---- ``` # 查看標(biāo)簽 git tag # 創(chuàng)建標(biāo)簽 git tag v1.0.0 # 創(chuàng)建標(biāo)簽時添加描述 git tag v1.0.0 -m '正式上線' # 刪除本地標(biāo)簽 git tag -d v1.0.0 # 刪除遠(yuǎn)程倉庫標(biāo)簽 git push origin :v1.0.0 # 將標(biāo)簽推送到遠(yuǎn)程倉庫 git push origin v1.0.0 # 將本地所有標(biāo)簽推送到遠(yuǎn)程倉庫 git push origin --tags # 查看遠(yuǎn)程倉庫標(biāo)簽 git ls-remote --tags ```