home > tools > versionControl > git >

git寶典—應付日常工作使用足夠的指北手冊

author:[email protected]    hits:

git命令清單,git命令大全的文章數不勝數,其實,直接看官方文檔更好。其實不用記憶那么多,我都是用intellij 自帶git 插件操作。簡單地記憶幾個日常操作就好

建立本地倉庫
git init  創建本地倉庫 git init [project-name]
git remote add origin [email protected]:UserName/yourProjectName.git   把本地倉庫和遠程倉庫關聯起來, 如果不執行這個命令的話,每次 push 的時候都需要指定遠程服務器的地址

git clone https://github.com/zhoulujun/yourProjectName.git

提交本地修改到遠程倉庫中:

git add -- 將改動添加到本地倉庫中  

  • git add [file1] [file2] ...  ||  git add [dir] 添加指定文件||目錄到暫存區

  • git add -A ||  git add .添加當前目錄的所有文件到暫存區

  • git add -p 添加每個變化前,都會要求確認,對于同一個文件的多處變化,可以實現分次提交

git rm xxx      -- 從本地倉庫中刪除指定文件
  • git rm -r xxx   -- 從本地倉庫中刪除指定文件夾

  • git rm --cached [file]

  • git mv [file-original] [file-renamed]  改名文件,并且將這個改名放入暫存區

git commit -m "注釋"    -- 把本機緩存中的內容提交到本機的 HEAD 里面

  • git commit -a 提交工作區自上次commit之后的變化,直接到倉庫區

  • git commit -v 提交時顯示所有diff信息

  • git commit --amend -m [message] 使用一次新的commit,替代上一次提交,如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息

  • git commit --amend [file1] [file2] ... 重做上一次commit,并包括指定文件的新變化

git push origin master  -- 把本地的 commit(提交) push 到遠程服務器上, origin 也就是之前 git remote add origin 那個命令里面的 origin,origin 替代了服務器倉庫地址:[email protected]:zhoulujun/yourProjectName.git 


git push remoteBranchName tagName提交指定tag

git push remoteBranchName --tags 提交所有tag

git轉態查看

git status 查看狀態

git branch 查看本地所有分支

  • git branch -r查看遠程所有分支

  • git branch -a查看本地和遠程所有分支

git tag  列出所有tag

git show tagName 查看tag信息

git log --stat 顯示commit歷史,以及每次commit發生變更的文件

分支操作

git checkout branchName 切換到指定分支,并更新工作區

git merge branchName 合并指定分支到當前分支

git branch newBranchName 新建一個分支,但依然停留在當前分支

git branch --track branch remote-branch 新建一個分支,與指定的遠程分支建立追蹤關系

git branch -D branchName //刪除目標分支

git checkout -b branchName 新建并切換至新分支

git branch -d -r branchName 刪除遠程分支,其中

git branch -m oldbranchname newbranchname  重命名分支 使用-M則表示強制重命名

重命名遠程分支

  • git branch -m old_name new_name 重命名分支

  • git checkout -b new_branch_name from_branch_name 本地建立 branch 並立即 checkout 切換過去

  • git push origin –delete old_name

git分支與主干合并操作

在主干上合并分支||主干合并分支

git merge branch --squash //提交合并后的代碼

git commit -m  ‘合并備注’

git push //將代碼推送到遠程倉庫

分支同步主干代碼||在分支上合并主干

git merge master --squash //提交合并后的代碼

git commit -m  ‘合并備注’ //將代碼推送到遠程倉庫

git push //將代碼推送到遠程倉庫

git強制覆蓋本地代碼

與git遠程倉庫保持一致

git fetch --all

git reset --hard origin/master

git pull

git強制覆蓋本地命令(單條執行):

git fetch --all && git reset --hard origin/master && git pull

git修改遠程倉庫地址

方法有三種:

1.修改命令

git remote origin set-url [url]

2.先刪后加

git remote rm origin

git remote add origin [url]

3.直接修改config文件

.git文件夾,找到config,編輯,把就的項目地址替換成新的。

git 配置

git config --list        查看配置列表

git config --global user.name "xxx"   -- 配置用戶名,上傳本地 repository 到服務器上的時候,在 Github 上會顯示這里配置的上傳者信息

git config --global user.email "xxx"    -- 配置郵箱
配置 sshkey : 上傳代碼時使用這個 sshkey 來確認是否有上傳權限
    1. 創建本地 ssh : ssh-keygen -t rsa -C "Github 的注冊郵箱"
    2. 在 Github 中添加這個 sshkey : 
        復制  C:\Documents and Settings\Administrator\.ssh\id_rsa.pub 文件中的內容;
        登錄 Github --> Account Setting  --> SSH-KEY --> Add SSH-KEY --> 粘貼id_rsa.pub中的內容;
    3. 驗證: ssh -T [email protected]
        出現 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 說明配置成功,可以連接上 Github

使用 .gitignore 文件忽略指定的內容

    1. 在本地倉庫根目錄創建 .gitignore 文件。Win7 下不能直接創建,可以創建 ".gitignore." 文件,后面的標點自動被忽略;
    2. 過濾文件和文件夾: [Tt]emp/ 過濾 Temp\temp 文件夾; *.suo 過濾 .suo 文件;

    3. 不過濾文件和文件夾: !*.c


參考文章:

git branch用法總結,查看、新建、刪除、重命名

常用 Git 命令清單

轉載本站文章《git寶典—應付日常工作使用足夠的指北手冊》, 請注明出處:http://www.qsexmk.tw/html/tools/VCS/git/402.html