1、 github遠程倉庫
git remote用於管理遠程倉庫
1)查看倉庫名稱 git remote 不帶參數時可以參看遠程倉庫名稱
2)查看倉庫信息 git remote -v 可以查看遠程倉庫名稱和網址
3)添加倉庫 git remote add 倉庫名 倉庫地址 添加遠程倉庫,同時設置遠程倉庫的名字,一般倉庫名稱是origin,當然你也可以寫成其他的名字
4)刪除倉庫 git remote rm origin 刪除名字爲origin的遠程倉庫
2、github遠程分支
1)查看分支 git branch -r 可以查看遠程倉庫的分支情況(遠程分支顯示爲紅色:remotes/)
2) 查看所有分支 git branch -a 可以查看所以分支的情況,顯示效果爲(git branch + git branch -r)
git push <遠程主機名> <本地分支名>:<遠程分支名>
其中 <遠程主機名> 是git地址如:https://github.com/summerhotready/KotlinCol.git
3)添加分支
4)刪除分支 git push <遠程主機名> –detete <刪除分支名>
git push <遠程主機名> :<遠程分支名>
省略本地分支名相當於推送了一個空的本地分支到遠程分支上,就相當於刪除了遠程分支
usage: git push [<options>] [<repository> [<refspec>...]]
-v, --verbose be more verbose
-q, --quiet be more quiet
--repo <repository> repository
--all push all refs
--mirror mirror all refs
-d, --delete delete refs
--tags push tags (can't be used with --all or --mirror)
-n, --dry-run dry run
--porcelain machine-readable output
-f, --force force updates
--force-with-lease[=<refname>:<expect>]
require old value of ref to be at this value
--recurse-submodules[=<check|on-demand|no>]
control recursive pushing of submodules
--thin use thin pack
--receive-pack <receive-pack>
receive pack program
--exec <receive-pack>
receive pack program
-u, --set-upstream set upstream for git pull/status
--progress force progress reporting
--prune prune locally removed refs
--no-verify bypass pre-push hook
--follow-tags push missing but relevant tags
--signed[=<yes|no|if-asked>]
GPG sign the push
--atomic request atomic transaction on remote side
-o, --push-option <server-specific>
option to transmit
-4, --ipv4 use IPv4 addresses only
-6, --ipv6 use IPv6 addresses only
需注意的是,分支的推送順序寫法是<來源地>:<目的地>
如果省略遠程分支名則表示將本地分支推送到與之存在“追蹤關係”的遠程分支(通常兩張同名),如果遠程分支不存在,則會被新建。
3、 github本地分支
一個項目在本地的倉庫可以有好幾個分支。分支是用於項目版本的管理,不同分支上的代碼版本可以不一樣。
1)查看分支 git branch
前面帶星號的分支是你當前所處的分支。
2)創建分支 git branch 分支名 分支不能存在
3)切換分支 git checkout 分支名 分支必須存在
4)創建後切換分支 git checkout -b 分支名
5)更新當前分支 git checkout
6)刪除分支 git branch -d 分支名
7)合併分支 git merge 要被合併的分支名 合併分支到當前所處的分支,如將dev分支上的內容合併到當前分支master上,先切換到master分支上,使用命令 git merge dev切換
4、 git fetch、pull命令的用法
1)git fetch <遠程倉庫>
這個命令用於取回遠程倉庫上的更新到本地倉庫,默認是取回遠程倉庫上的所有更新,如果要取回指定分支上的內容,可以使用:
2)git fetch <遠程倉庫> <分支名>
這樣取回的分支是不會影響本地倉庫中的代碼,通常用於查看他人進程。
取回遠程分支之後,可以在遠程分支的基礎上創建新的分支
3)合併遠程分支和本地分支 git merge origin/dev
git rebase origin/dev
4)將當前分支與遠程分支合併 git pull <遠程主機名> <遠程分支>:<本地分支>
相當於將origin遠程倉庫中dev分支上的內容與本地master分支合併。
如果遠程分支是與當前分支合併,可以省略冒號後的內容
相當於將origin遠程倉庫中dev分支上的內容與本地當前分支合併。
5、git本地操作
1)創建工程目錄 /project
創建.git: git init
2)創建readme.md
3)提交
1.添加 git add 文件/目錄
2.提交 git commit -m “提交描述”
4)查看修改的文件(統計未提交) git status
D:\workspace\git\hssy>git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: learngit/readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
如果文件已經被add,顯示如下
D:\workspace\git\hssy\learngit>git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: readme.txt
5)比較當前版本和最新版本 git diff 文件名
需要注意,查詢的文件必須在當前目錄下,文件名前面帶上目錄名無效
6)查看歷史版本
git log
git log