前言
自動幫助記錄每次文件的改動,同時協(xié)作永工作
學(xué)習(xí)git命令是充分必要的
集中式和分布式
分布式每個人電腦都是一個完整的版本庫,也有類似中央服務(wù)器的電腦,但是這個服務(wù)器只是用來交互打架的修改沒有它大家也一樣干活,只是交互修改不方便而已
安裝只要安裝了xcode就可以了
倉庫:里面文件修改,刪除,添加都能被git追蹤,認識時刻都能追蹤歷史或者將來某哥時刻還原只能追蹤文本文件的改動
創(chuàng)建目錄和查看路徑
mkdir 創(chuàng)建目錄
cd 進入到目錄里面
pwd 用于顯示當(dāng)前的目錄
cat 查看文件內(nèi)容
Git命令使用說明
初始化一個目錄成git的倉庫(版本庫)包括暫存區(qū)和master分支
git init查看當(dāng)前目錄的文件包括隱藏文件
ls -ah獲取git命令的手冊頁
git help使用git前需要進行一些全局的配置
> 1、用戶目錄下的配置,當(dāng)前登陸用戶所有的倉庫調(diào)用這個配置 ~/.gitconfig
> 2、項目目錄的配置,優(yōu)先級高,覆蓋全局配置配置用戶名和郵箱
git config --global user.name "wirelessqa"
git config --global user.email wirelessqa.me@gmail.com
git config --global color.ui true 讓Git顯示顏色,會讓命令輸出看起來更醒目
.gitignore 配置 不納入git管理 主要是系統(tǒng)文件,編譯文件,自定義的文件 ,這個文件也用推送到遠程庫
https://github.com/github/gitignore ,創(chuàng)建 touch 命令
配置編輯器 git在需要輸入一些消息
git config --global core.editor emacs
配置比較工具
git config --global merge.tool vimdiff
讀取配置(同一個配置選項會出現(xiàn)多次,以最后一次為準)
提交文件之前
先查看當(dāng)前的狀態(tài) ,能提示你接下來怎么做的命令,比如修改工作區(qū)文件內(nèi)容,提示你添加到暫存區(qū)或者丟棄工作區(qū)修改的命令
查看文件到底修改了什么
提交修改
納入git倉庫管理,把修改添加到暫存區(qū)(使用.代表將所有的修改進行添加)
把暫存區(qū)里面的所有修改提交到當(dāng)前分支同時創(chuàng)建一個快照
如果確認當(dāng)前所有變更都是同一個commit,可以直接加-a,就不必一個一個add了
工作區(qū)和版本庫里最新版本的區(qū)別
git diff HEAD -- readme.txt
查看提交歷史
撤銷修改
git checkout -- readme.txt
> 1、修改后還沒添加到暫存區(qū) ,撤銷修改回到最近一次commit的狀態(tài),也就是和版本庫里面的狀態(tài)一樣
> 2、修改后被添加到暫存區(qū)了,又做了修改 ,撤銷修改就回到添加到暫存區(qū)后的狀態(tài),也就是跟暫存區(qū)里面的狀態(tài)保持一致
> 3、用版本庫里的版本替換工作去的版本,無論工作區(qū)是修改還是刪除
可以把暫存區(qū)的修改撤銷掉
提交文件刪除修改到暫存區(qū)
版本回退
git的版本回退知識改了head 指針,順便把工作區(qū)的文件更新掉了
git reset --hard HEAD^
或
git reset --hard 3628164
查看命令歷史
可以看到reset和commit等命令歷史,可以利用這個命令查看最近一次
工作區(qū)和暫存區(qū)
工作區(qū):電腦上能看到的目錄 ,里面有個.git 隱藏目錄這個不算工作區(qū),是git的版本庫版本庫里面包含了暫存區(qū)stage和git為我們自動創(chuàng)建第一個分支
遠程庫管理
查看遠程庫信息
修改遠程倉庫地址(在已經(jīng)add了遠程倉庫地址,使用它進行修改地址)
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git
關(guān)聯(lián)遠程庫(添加遠程倉庫地址)
git remote add origin git@github.com:linhbcode/first-test.git
本地的master分支推送到遠程的master分支上,原則就是master分支要與遠程同步 ,dev 分支開發(fā)分支,也需要遠程同步
master分支推送到遠程的master分支,本地master 分支和遠程master分支建立關(guān)聯(lián)
git push -u origin master
Git自動把本地的master分支和遠程的master分支對應(yīng)起來了,并且,遠程倉庫的默認名稱是
origingit clone git@github.com:linhbcode/first-test.git
git pull 如果提示沖突解決沖突 抓去信息碰到?jīng)]有鏈接的 有兩種方式解決
> 1、git branch --set-upstream branch-name origin/branch-name 建立本地分支和遠程分支的關(guān)聯(lián)
> 2、git pull origin branchname
分支管理
1、不完整的代碼在其它分支上提交
2、每個提交都在一個時間線上的節(jié)點上,分支相當(dāng)于指向一個節(jié)點的指針
head 本質(zhì)上是指向分支的指針
創(chuàng)建并切換分支
本地分支創(chuàng)建和遠程分支相同的分支,主要是倉庫從遠程clone過來的(一般要先git fetch,再git checkout -b branch-name origin/branch-name)
git checkout -b branch-name origin/branch-name
創(chuàng)建分支
切換分支 , 如果當(dāng)前的工作只完成一半,還沒發(fā)提交的話
可以用 git stash 保存工作現(xiàn)場 ,在用它之前可以 git stash list 查看有幾個暫存的列表
查看有幾個暫存的列表
保存工作現(xiàn)場
恢復(fù) 工作現(xiàn)場
來刪除 工作現(xiàn)場
查看當(dāng)前分支
查看遠程分支
合并分支
刪除分支
強行刪除分支
(刪除遠程分支)冒號前面的空格不能少,原理是把一個空分支push到server上,相當(dāng)于刪除該分支。
git push origin :branch-name
提交本地test分支作為遠程的master分支
git push origin test:master
提交本地test分支作為遠程的test分支
git push origin test:test
剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔(dān)心
查看分支合并圖
查看提交歷史
git log --pretty=oneline --abbrev-commit
合并分支
合并分支的時候不采用ff模式(分支刪除了還能看的到分支歷史信息)
git merge --no-ff -m "merged bug fix 101" issue-101
標簽管理
描述開發(fā)歷程,在發(fā)布一個版本的時候打一個標簽
查看所有的標簽
對莫一個提交歷史打一個標簽
查看標簽信息
正式開發(fā)下最好用這條語句標注下這個標簽的描述
git tag -a v0.1 -m "version 0.1 released" 3628164
刪除標簽
推送標簽
推送全部標簽
遠程刪除標簽(先從本地刪除標簽)
git push origin :refs/tags/v0.9
結(jié)語
目前就整理了些常用的命令,足夠?qū)Ω镀匠5墓ぷ髁?,如果大家還想讀讀Git原理的話,建議看看原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000,里面講的特別全。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- Git代碼提交流程及git命令匯總(基礎(chǔ)篇)
- Linux中Git集中操作命令匯總
- 解決因文件權(quán)限導(dǎo)致git fetch命令執(zhí)行失敗的問題
- Git pull命令與fetch命令的區(qū)別
- Git 常用命令速查表(圖文+表格)
- 分享下自己總結(jié)的Git常用命令
- git blame命令詳解