Git 經常使用命令


git status 查看倉庫當前的狀態html

丟棄本地修改文件
本地修改文件,可是沒有加到緩存區
git checkout .
git clean -xdfreact

本地修改文件,且加到緩存區
git reset --hard
git clean -xdfjquery

強制把遠程倉庫的代碼覆蓋掉本地
git reset --hard origin/master git

修改文件後提交的步驟
git add .
git commit -m 'xxxxx'
git add .
git commit -m 'xxxxx'
git add .
git commit -m 'xxxxx'
git pushgithub


git add -u 能夠用於刪除文件時候同步到遠程庫
第一步:git clone
git clone url filename(此項非必選,默認本地文件與遠程地址相同)shell

第二步:git remote
爲了便於管理,Git要求每一個遠程主機都必須指定一個主機名。git remote命令就用於管理主機名。
不帶選項的時候,git remote命令列出全部遠程主機。
git remote
使用-v選項,能夠參看遠程主機的網址。
git remote -v緩存

origin git@github.com:jquery/jquery.git(fetch)
origin git@github.com:jquery/jquery.git(push)
上面命令表示,當前只有一臺遠程主機,叫作origin,以及它的網址。
克隆版本庫的時候,所使用的遠程主機自動被Git命名爲origin。若是想用其餘的主機名,須要用git clone命令的-o選項指定。
git clone -o jQuery https://github.com/jquery/jquery.git
上面命令表示,克隆的時候,指定遠程主機叫作jQuery。
git remote show命令加上主機名,能夠查看該主機的詳細信息。
git remote show <主機名>
git remote add命令用於添加遠程主機。
git remote add <主機名> <網址>
git remote rm命令用於刪除遠程主機。
git remote rm <主機名>
git remote rename命令用於遠程主機的更名。
git remote rename <原主機名> <新主機名>
git remote set-url --add origin <url2> 往origin庫裏添加url2 之後再push的時候,就能夠同時push多個庫了服務器

多處提交config
[remote "origin"]
url = git@git.oschina.net:jiaoshou/reacttest.git
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@git.coding.net:jsser/reacttest.git
[branch "master"]
remote = origin
merge = refs/heads/masterssh


第三步:git fetch
git fetch <遠程主機名>
上面命令將某個遠程主機的更新,所有取回本地。
git fetch命令一般用來查看其餘人的進程,由於它取回的代碼對你本地的開發代碼沒有影響。
默認狀況下,git fetch取回全部分支(branch)的更新。若是隻想取回特定分支的更新,能夠指定分支名。
git fetch <遠程主機名> <分支名>
好比,取回origin主機的master分支。
git fetch origin master
所取回的更新,在本地主機上要用"遠程主機名/分支名"的形式讀取。好比origin主機的master,就要用origin/master讀取。
git branch命令的-r選項,能夠用來查看遠程分支,-a選項查看全部分支。
git branch -r
git branch -a
上面命令表示,本地主機的當前分支是master,遠程分支是origin/master。
取回遠程主機的更新之後,能夠在它的基礎上,使用git checkout命令建立一個新的分支。
git checkout -b xxxx
上面命令表示,在origin/master的基礎上,建立一個新分支。
切換分支 git checkout xxx
刪除本地分支 git branch -d xxxxx
此外,也可使用git merge命令或者git rebase命令,在本地分支上合併遠程分支。
git merge origin/master# 或者
git rebase origin/master
上面命令表示在當前分支上,合併origin/master。ide

第四步:git pull
git pull命令的做用是,取回遠程主機某個分支的更新,再與本地的指定分支合併。它的完整格式稍稍有點複雜。
git pull <遠程主機名> <遠程分支名>:<本地分支名>
好比,取回origin主機的next分支,與本地的master分支合併,須要寫成下面這樣。
git pull origin next:master
若是遠程分支是與當前分支合併,則冒號後面的部分能夠省略。
git pull origin next
上面命令表示,取回origin/next分支,再與當前分支合併。實質上,這等同於先作git fetch,再作git merge。
git fetch origin
git merge origin/next
在某些場合,Git會自動在本地分支與遠程分支之間,創建一種追蹤關係(tracking)。好比,在git clone的時候,全部本地分支默認與遠程主機的同名分支,創建追蹤關係,也就是說,本地的master分支自動"追蹤"origin/master分支。
Git也容許手動創建追蹤關係。
git branch--set-upstream master origin/next
上面命令指定master分支追蹤origin/next分支。
若是當前分支與遠程分支存在追蹤關係,git pull就能夠省略遠程分支名。
git pull origin
上面命令表示,本地的當前分支自動與對應的origin主機"追蹤分支"(remote-tracking branch)進行合併。
若是當前分支只有一個追蹤分支,連遠程主機名均可以省略。
git pull
上面命令表示,當前分支自動與惟一一個追蹤分支進行合併。
若是合併須要採用rebase模式,可使用--rebase選項。
git pull--rebase <遠程主機名> <遠程分支名>:<本地分支名>
若是遠程主機刪除了某個分支,默認狀況下,git pull不會在拉取遠程分支的時候,刪除對應的本地分支。這是爲了防止,因爲其餘人操做了遠程主機,致使git pull不知不覺刪除了本地分支。
可是,你能夠改變這個行爲,加上參數-p就會在本地刪除遠程已經刪除的分支。
git pull-p# 等同於下面的命令
git fetch--prune origin
git fetch-p

第五步:git push
git push命令用於將本地分支的更新,推送到遠程主機。它的格式與git pull命令相仿。
git push<遠程主機名><本地分支名>:<遠程分支名>
注意,分支推送順序的寫法是<來源地>:<目的地>,因此git pull是<遠程分支>:<本地分支>,而git push是<本地分支>:<遠程分支>。
若是省略遠程分支名,則表示將本地分支推送與之存在"追蹤關係"的遠程分支(一般二者同名),若是該遠程分支不存在,則會被新建。
git push origin master
上面命令表示,將本地的master分支推送到origin主機的master分支。若是後者不存在,則會被新建。
若是省略本地分支名,則表示刪除指定的遠程分支,由於這等同於推送一個空的本地分支到遠程分支。
git push origin:master# 等同於git push origin--delete master
上面命令表示刪除origin主機的master分支。
若是當前分支與遠程分支之間存在追蹤關係,則本地分支和遠程分支均可以省略。
git push origin
上面命令表示,將當前分支推送到origin主機的對應分支。
若是當前分支只有一個追蹤分支,那麼主機名均可以省略。
git push
若是當前分支與多個主機存在追蹤關係,則可使用-u選項指定一個默認主機,這樣後面就能夠不加任何參數使用git push。
git push -u origin master
上面命令將本地的master分支推送到origin主機,同時指定origin爲默認主機,後面就能夠不加任何參數使用git push了。

 

git init here -- 建立本地倉庫(repository),將會在文件夾下建立一個 .git 文件夾,.git 文件夾裏存儲了全部的版本信息、標記等內容

git remote add origin git@github.com:winter1991/helloworld.git
-- 把本地倉庫和遠程倉庫關聯起來。若是不執行這個命令的話,每次 push 的時候都須要指定遠程服務器的地址

git add -- 從本地倉庫增刪,結果將會保存到本機的緩存裏面
git rm  --把一個文件刪除,並把它從git的倉庫管理系統中移除

git commit -m "註釋" -- 提交,把本機緩存中的內容提交到本機的 HEAD 裏面(添加或者刪除以後都要commit提交到git倉庫纔會生效)

git push origin master -- 把本地的 commit(提交) push 到遠程服務器上, origin 也就是以前 git remote add origin 那個命令裏面的 origin,origin 替代了服務器倉庫地址:git push git@github.com:winter1991/helloworld.git master
git pull origin master -- 從遠程服務器 pull 新的改動

git status -- 查看狀態

git diff -- 查看修改內容
git add -A -- 提交所有修改

git log  -- 查看歷史記錄

git log --pretty=oneline  --查看簡寫版的歷史記錄

git reset --hard HEAD^ 用HEAD表示當前版本,也就是最新的提交版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,固然往上100個版本寫100個^比較容易數不過來,因此寫成HEAD~100。(從如今往原來回退)

cat aaa.html    --查看aaa.html文件內容

git reset --hard 3628164   最後加的是commit id  多加幾位和別的區分開就行(從如今往任意時間跳轉)  

git reflog 記錄每一次命令

pwd 展現當前所在位置
cd 回到主目錄
cd.. 返回上一級目錄
cd 目錄名 打開目錄
cd /目錄名 從主頁開始尋找路徑


1. git 配置:
git config --global user.name "xxx" -- 配置用戶名,上傳本地 repository 到服務器上的時候,在 Github 上會顯示這裏配置的上傳者信息
git config --global user.email "xxx" -- 配置郵箱
git config --list 查看配置列表

配置 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 git@github.com
出現 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 說明配置成功,能夠鏈接上 Github

2. 創建倉庫 repository :
git init here -- 建立本地倉庫
git remote add origin git@github.com:用戶名/倉庫名.git
-- 把本地倉庫和遠程倉庫關聯起來, 若是不執行這個命令的話,每次 push 的時候都須要指定遠程服務器的地址


3. 從遠程倉庫中下載新的改動:
git pull origin master


4. 提交本地修改到遠程倉庫中:
git add
git add -A -- 將改動添加到本地倉庫中
git rm xxx -- 從本地倉庫中刪除指定文件
git rm -r xxx -- 從本地倉庫中刪除指定文件夾

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

git push origin master -- 把本地的 commit push 到遠程倉庫中


5. 使用 .gitignore 文件忽略指定的內容:
1. 在本地倉庫根目錄建立 .gitignore 文件。Win7 下不能直接建立,能夠建立 ".gitignore." 文件,後面的標點自動被忽略;
2. 過濾文件和文件夾: [Tt]emp/ 過濾 Temp\temp 文件夾; *.suo 過濾 .suo 文件;
3. 不過濾文件和文件夾: !*.c

 

 

【SourceTree】刪除文件提交git庫

 git add .
 git add -A
  git commit -m 'delete some files' -a
關掉sourcetree  再從新打開 再推送

本文標題:Git 經常使用命令

原創做者:Jiao Shou

發佈時間:2015年03月21日 - 20:51

最後更新:2015年03月21日 - 20:52

原始連接:http://www.cnblogs.com/jiaoshou/p/4356164.html

許可協議:轉載本篇文章時請務必以超連接形式標明文章原文連接和做者信息。

掃描二維碼,分享此文章

相關文章
相關標籤/搜索