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