1:選擇gitjava
2:下載對應版本git
安裝github
顯示信息類命令
git ls-files -u 顯示衝突的文件,-s是顯示標記爲衝突已解決的文件服務器
git diff 對比工做區和stage文件的差別
git diff --cached 對比stage和branch之間的差別網絡
git branch 列出當前repository下的全部branch
git branch --a 列出local 和remote下的全部brancheclipse
git ls-files --stage 檢查保存在stage的文件ssh
git log 顯示到HEAD所指向的commit爲止的全部commit記錄 。使用reset HEAD~n 命令使HEAD指針向前移動,會致使HEAD以後的commit記錄不會被顯示。工具
git log -g則會查詢reflog去查看最近作了哪些動做,這樣能夠配合git branch 恢復以前由於移動HEAD指針所丟棄的commit對象。若是reflog丟失則能夠經過git fsck --full來查看沒被引用的commit對象。
git log -p -2 對比最新兩次的commit對象
log -1 HEADfetch
git log --pretty=onelineurl
git log --stat 1a410e 查看sha1爲1a410e的commit對象的記錄
git blame -L 12,22 sth.cs 若是你發現本身代碼中 的一個方法存在缺陷,你能夠用git blame來標註文件,查看那個方法的每一行分別是由誰 在哪一天修改的。下面這個例子使用了-L選項來限制輸出範圍在第12至22行
建立類命令
git brach branchName 建立名爲branchName分支
git checkout branchName 切換到branchName分支
git checkout -b 建立並切換,也就是上面兩個命令的合併
git brach branchName ef71 從commit ef71建立名爲branchName的branch
撤銷類命令
若是是單個文件
1.use "git reset HEAD <file>..." to unstage
若是已經用add 命令把文件加入stage了,就先須要從stage中撤銷
而後再從工做區撤銷
2.use "git checkout -- <file>..." to discard changes in working directory
git checkout a.txt 撤銷a.txt的變更(工做區上的文件)
若是是多個文件
git chenkout .
若是已經commit 了,則須要
git commit --amend 來修改,這個只能修改最近上一次的,也就是用一個新的提交來覆蓋上一次的提交。所以若是push之後再作這個動做就會有危險
$ git reset --hard HEAD 放棄工做區和index的改動,HEAD指針仍然指向當前的commit.(參照第一幅圖)
這條命令同時還能夠用來撤銷還沒commit的merge,其實原理就是放棄index和工做區的改動,由於沒commit的改動只存在於index和工做區中。
git reset --hard HEAD^ 用來撤銷已經commit的內容(等價於 git reset --hard HEAD~1) 。原理就是放棄工做區和index的改動,同時HEAD指針指向前一個commit對象。
git revert 也是撤銷命令,區別在於reset是指向原地或者向前移動指針,git revert是建立一個commit來覆蓋當前的commit,指針向後移動
提交類命令
git add +文件名 跟蹤新文件或者已有文件的改動,或者用來解決衝突
git commit +文件名 把文件從stage提交到branch
git commit -a 把修改的文件先提交到stage,而後再從stash提交到branch
刪除類命令
git rm --cached readme.txt 只從stage中刪除,保留物理文件
git rm readme.txt 不但從stage中刪除,同時刪除物理文件
git mv a.txt b.txt 把a.txt更名爲b.txt
Merge類命令
在衝突狀態下,須要解決衝突的文件會從index打回到工做區。
1.用工具或者手工解決衝突
2.git add 命令來代表衝突已經解決。
3.再次commit 已解決衝突的文件。
$ git reset --hard ORIG_HEAD 用來撤銷已經commit 的merge.
$ git reset --hard HEAD 用來撤銷還沒commit 的merge,其實原理就是放棄index和工做區的改動。
git reset --merge ORIG_HEAD,注意其中的--hard 換成了 --merge,這樣就能夠避免在回滾時清除working tree。
git help 幫助命令
修改後沒提交,或者剛建立如今>
提交到本地倉庫
有個油瓶說明提交到本地倉庫
1:登入github或者碼雲
2:建立個新的項目
3:複製祕鑰
輸入相關信息:
輸入完上面兩個後,單擊add,下一步,在finish。
完成刷新頁面查看:
在表格中複製祕鑰,填寫信息。
右鍵工做欄,importàgit
就能夠
若是出錯:就更改
點擊open添加屬性:
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = https://git.oschina.net/maofa/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
push = refs/heads/master:refs/heads/master
先拉下來更新pull
完成:
1:生成ssh鑰匙
ssh-keygen -t rsa -C "youremail@example.com"
能夠在用戶主目錄裏找到.ssh目錄,裏面有id_rsa和id_rsa.pub兩個文件
在gitHub或者任何託管代碼平臺上添加鑰匙:
2:git clone https://github.com/master-dev.git克隆遠程分支
進入克隆目錄就能夠實現代碼的上傳推送
git init
git remote add origin http://192.168.0.240/root/bagtree.git
git add .
git commit
git push –u origin master