Git 經常使用命令

git 配置

配置文件位置: ~/.gitconfiglinux

配置用戶

git config --global user.name "username"
git config --global user.email "email@example.com"
複製代碼

生成 ssh-key

生成的祕鑰和公鑰在本機位置:~/.ssh (id_rsa:私鑰;id_rsa.pub:公鑰)git

公鑰可添加到 github 等相似託管平臺,以便可以使用遠程倉庫github

ssh-keygen -t rsa -C "email@example.com"
複製代碼

git別名(參考zsh)

macOSlinux 可安裝 zshoh-my-zshvim

如下爲 .gitconfig 內容app

使用:git glods git glolassh

[user]
	name = ***
	email = ***
[alias]
	glods = log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short
	glola = log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all
複製代碼

git 經常使用命令

clone

將遠程倉庫拉取到本地編輯器

git clone url
複製代碼

add

將修改的內容添加到暫存區fetch

git add fileName    #單個文件
git add .           #多個文件

複製代碼

commit

提交描述ui

git commit                 #進入編輯器編輯提交描述,好比默認的 vim
git commit -m "提交描述"    #在命令行添加提交描述
git commit --amend         #修改上一個提交(commit)描述
複製代碼

checkout

撤銷工做區的修改、分支管理url

git checkout -- fileName                        #撤銷工做區單個文件的修改
git checkout -- .                               #撤銷工做區全部文件的修改
git checkout branchName                         #切換到分支 branchName
git checkout -b branchName                      #建立分支 branchName 並切換到該分支
git checkout -b branchName commit_id/tag        #以 commit_id/tag 爲最後一次提交新建一個分支 branchName,並切換到該分支
git checkout -b branchName origin/branchName    #將遠程分支 origin/branchName 同步到即將建立的分支 branchName
複製代碼

pull

拉取遠程分支到本地並與本地

git pull origin branchName             #拉取遠程分支 branchName 到本地併合並:git pull = git fetch + git merge
git pull origin branchName --rebase    #(推薦該方式,使得提交樹幹淨整潔,無多餘無用的commit)拉取遠程分支 branchName 到本地並進行變基操做:git pull = git fetch + git rebase

複製代碼

push

將本地提交同步到遠程分支,同步以前最好執行 git pull origin branchName --rebase ,保持與遠程分支內容一致後再同步

git push origin branchName                  #將本地分支推送到遠程分支
git push origin branchName --follow-tags    #把 commit_id 所引用的標籤一塊兒推送到遠程倉庫
git push origin tagName                     #將標籤 tagName 推送到遠程倉庫
git push origin --tags                      #一次推送全部本地新增的標籤
git push origin --delete branchName         #刪除遠程分支
複製代碼

fetch

拉取遠程分支更新到本地

git fetch origin branchName                 #將遠程分支 branchName 更新的內容同步到本地的分支 `origin/branchName`
git fetch origin branchName1:branchName2    #將遠程分支 branchName1 的更新同步到本地分支 branchName2 ,若本地分支不存在,則自動建立

複製代碼

branch

分支管理

git branch branchName                      #建立分支 branchName
git branch -d branchName                   #刪除已經合併到本分支的其餘分支
git branch -D branchName                   #(強制刪除)刪除未合併到本分支的其餘分支
git branch branchName commit_id/tag        #以 commit_id/tag 爲最後一次提交新建一個分支 branchName
git branch branchName origin/branchName    #建立一個新分支 branchName 同步遠程分支 origin/branchName 的信息
複製代碼

stash

將工做區修改的內容儲藏起來,只會儲藏 git add 以後的文件的修改,新添加的文件不會被 git 管理

git stash                    #儲藏工做區修改
git stash list               #顯示儲藏列表
git stash pop/apply          #應用儲藏列表最上面一個到工做區
git stash apply stash@{2}    #應用指定儲藏到工做區
git stash clear              #清空儲藏列表
複製代碼

merge

分支合併

git merge branchName    #將分支 branchName 上新的提交合併到當前分支
複製代碼

rebase

變基操做

git rebase branchName     #將分支 branchName 上新的提交變基到當前分支
git rebase --continue     #解決變基衝突後繼續變基
git rebase --abort        #放棄本次變基,代碼將恢復到變基以前
git rebase --skip         #將引發衝突的commits丟棄掉(慎重)
複製代碼

tag

推送標籤到遠程倉庫,可查看 push 那一節

git tag                      #顯示tag列表
git tag tagName              #給最近一次的 commit 添加標籤 tagName
git tag tagName commit_id    #給指定 commit_id 添加標籤 tagName
git tag -d tagName           #刪除標籤 tagName
複製代碼
相關文章
相關標籤/搜索