備註:git
1:設置用戶名郵箱github
git config --global user.name ""緩存
git config --global user.email ""app
查看郵箱用戶名:git config user.namessh
查看配置狀態:git config --listurl
2:建立版本庫(倉庫),能夠爲不一樣的倉庫設置不一樣的用戶,並初始化倉庫spa
進入具體盤符下的倉庫存放文件夾:(新建文件夾)mkdir filename指針
pwd :顯示當前目錄視頻
進入上一級:cd ..圖片
git init :生成.git文件夾
3:提交修改文件(不支持圖片視頻等的監控)
git add file
git commit -m +註釋
git status查看當下分之文件狀態是否有變化
git differ file 查看文件先後修改內容
4:查看提交Log
git log:顯示最近三次提交logId以及內容
git log -pretty=oneline :簡略顯示
5:版本回退
git reset --hard HEAD^^^(^的次數表明回退的次數),若是屢次用HEAD~(+次數)
6:查看文件內容
cat file
7:獲取修改提交內容以及版本號
git reflog
8:根據版本號回退
git reset --hard 版本號
9:版本庫(Repository):工做區有一個隱藏目錄.git,這個不屬於工做區,這是版本庫。其中版本庫裏面存了不少東西,其中最重要的就是stage(暫存區),還有Git爲咱們自動建立了第一個分支master,以及指向master的一個指針HEAD。
每次咱們把修改的代碼先存放在緩存區,而後經過commit放進當前分支
10:撤銷修改
git checkout -- file(區分建立分支命令git checkour branch)
文件在工做區作的修改所有撤銷,這裏有2種狀況:第一,文件自動修改後,尚未放到暫存區,使用 撤銷修改就回到和版本庫如出一轍的狀態。第二,readme.txt已經放入暫存區了,接着又做了修改,撤銷修改就回到添加暫存區後的狀態。
11:刪除文件
方式:第一直接文件夾下刪除,第二,命令 rm file,而後commit,在沒有commit以前,能夠撤銷刪除: git checkout -- file
第一次實踐主要命令:
git add .
git commit -m ""(能夠是文件夾文件名 方便之後查看本次修改的東西)
git push origin lym/0729
git checkout master(回到master)
git pull
若是屢次提交,想要修復成一次提交:
git log --graph
遠程庫Github配置環境:
1:上邊的配置只能容許Git本地管理,若是要遠程提交代碼,須要配置SSH 祕鑰
ssh-keygen -t rsa -C "email"(ssh後邊沒有空格)
選擇路徑,默認,則出現了.SSH文件以及下面的.rsa &.rsa.pub
copy 公共祕鑰rsa,提交。
2:登陸github上,而後在右上角找到「create a new repo」建立一個新的倉庫
把本地的倉庫推送同步到Github遠程庫中,
git remote add origin https://github.com/tugenhua0707/testgit.git
3:master是一個時間串線,鏈接起全部commit的東西
HEAD嚴格來講不是指向提交,而是指向master,master纔是指向提交的,因此,HEAD指向的就是當前分支
4:查看全部分支
git branch
5:當在一條分支修改完以後,回到主分支master,看不到文件的修改,此時須要merge以前在分支上的修改到主master上
git merge 分支
6:此時查看文件,已經同步。cat file
7:merge完成,刪除以前的分支:git branch -d branchname
可是一般合併分支時,git通常使用」Fast forward」模式,在這種模式下,刪除分支後,會丟掉分支信息,採用以下命令避免該模式
git merge –no-ff -m 「註釋」 branch
8:當須要不一樣的工做空間時,咱們能夠隱藏當前的分支工做空間,臨時建立新的分支
git stash(隱藏當前分支)
git status(當前工做空間是乾淨的)
建立新的臨時分支,修改內容,add,commit,merge(避免fast forward),刪除臨時分支,回到之前分支,git checkout oldbranch(此時仍是乾淨的)
8:恢復工做空間
git stash list
恢復:
git stash apply,以後刪除stash:git stash drop
git stash pop 恢復的同時刪除stash
實際上,遠程庫的默認名稱是origin,
推送本地內容到遠程庫:
git push origin master
通常狀況下,那些分支要推送呢?
多人協做時,你們都會往master分支上推送各自的修改,
首先要把dev分支也要推送到遠程去,git push origin branch,
克隆遠程的庫到本地來 git clone url
把遠程的origin的dev分支到本地來git checkout –b branch origin/branch,修改,push,git push origin branch
推送有衝突,先用git pull把最新的提交從origin/dev抓下來,而後在本地合併,解決衝突,再推送