git知識小結

git
    常用
        git reset HEAD -- filename 拉取最近一次提交到版本庫中的文件到暫存區

        git commit --amend filename將暫存區的文件重新提交到版本庫中,舊版本被新版本替換,可用於修改版本信息。

        git checkout -- filename 拉取暫存區的文件並將其替換工作區文件

        git reset HEAD -- filename 拉取最近一次提交到版本庫中的文件到暫存區

        git reset $commitid filename 獲取 $commitid 版本的文件到暫存區

git修改遠程倉庫地址 
方法有三種:
1.修改命令
git remote origin set-url [url]
2.先刪後加
git remote rm origin
git remote add origin [url]

    local
        git初始化
            $ git config --global user.name "John Doe"
            $ git config --global user.email [email protected]
            ssh-keygen -t rsa -C “[email protected]”  
        區域
            working directory工作區
            staging index暫存區
            git directory(Repository)版本庫
        文件狀態
            unstage
                未被追蹤
            modified
                工作區修改後,未添加到暫存區
            staged
                工作區修改後,提交到暫存區,但是未提交到版本庫
            commited
                已提交到版本庫
        操作
            提交
                git add filename
                git commit -m "version 1.0"
                git commit -am "version 1.0":提交到版本庫,前提已被tracked
            撤銷操作
                git checkout -- filename
                     拉取暫存區的文件並將其替換工作區文件
                git reset head  filename
                     拉取最新的提交到版本庫中的文件到暫存區
                git reset commitid  filename
                    獲取 $commitid 版本的文件到暫存區
                git reset --option 版本號
                    --hard
                    --mixed
                    --soft
            刪除文件
                git rm filename
                    1.刪除:暫存區和工作區文件,無差異時可直接刪除,有差異世,需要用到下面兩個
                    2.本地刪除後,使用git add . 將本地刪除提交到暫存區
                git rm -cached filename
                    暫存區文件刪除,工作區文件保留
                git rm -f filename
                    強制刪除:暫存區和工作區文件
            重命名文件
                git mv filename1 filename2
                    同時修改暫存區和工作區文件
                mv filename1 filename2
                    1.工作區修改,暫存區未修改
                    2.+git add . :同時修改暫存區和工作區文件
            查詢狀態
                git status -s 
                    xM
                        工作修改,未提交到暫存
                    Mx
                        工作區修改,提交到暫存,未提交到版本庫
                    MM
                        上述兩種都有
                    xD
                        工作刪除,未提交到暫存
                    Dx
                        工作區刪除,提交到暫存,未提交到版本庫
                    Rx
                        rename,暫存區文件rename,如果有修改。也顯示爲Rx
            查看日誌
                git log --oneline
            分支
                git分支的創建,修改,切換,刪除
                    git branch 所在分支
                    git branch name 創建分支
                    git branch -m  oldname newname 重命名分支
                    git checkout (-b) branchname 切換分支
                    git branch -d branch  刪除分支
                分支的合併
                    分支的指針
                    git diff
                        git diff 比較工作區與暫存區文件
                        git diff --staged 比較暫存區與版本庫的文件
                        git diff 版本號1 版本號2 比較分之內的兩個版本號
                        git diff 分支1 分支2  兩個分支最新提交版本
                    git merge branchname
                        合併之前切到master分支
                儲存變更
                    git stash
                        保存當前的暫存區和工作區
                    git stash list
                    git stash apply stash@{num}
                    git stash pop stash@{num}
                    git stash drop stash@{num}
                    git stash clear 
                        刪除存儲
            各種操作
                刪除 untracked files
                    git clean -f
                連 untracked 的目錄也一起刪掉
                    git clean -fd
                連 gitignore 的untrack 文件/目錄也一起刪掉
                    git clean -xfd
                -n 參數來先看看會刪掉哪些文件,防止重要文件被誤刪
                    git clean -nxfd
                    git clean -nf
                    git clean -nfd
    遠程倉庫
        github上倉庫
            將本地文件推送到github
                git push https://github.com/xiaodiaoyuo/git_resp_learn.git master
            pull拉取遠程代碼
                git pull   https://github.com/xiaodiaoyuo/git_resp_learn.git master
            將遠程倉庫在本地定義簡潔名稱
                git remote add repname  repurl
                git push repname  master
                git log remotes/origin/master
                    查看遠程提交記錄
            查看遠程
                git remote -v
            遠程倉庫修改地址
                git remote origin set-url [url]

獲取遠程分支:git checkout -b release origin/release

 

warning: push.default is unset的解決方案 : 輸入git config --global push.default match

queryClientCards
        git鏈接linux遠程
            ssh [email protected]登錄遠程
            git init 
            git push ssh://[email protected]/tmp/git/resp_git  master
                將本地文件推送到linux遠程
            git clone  ssh://[email protected]/tmp/git/resp_git 
                從本地倉庫獲取代碼,目錄/home/www
            git pull ssh://[email protected]/tmp/git/resp_git 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章