git 基本操作

1.git多人的操作

1.基本介紹

工作區(qū) -->暫存區(qū)--> 版本庫 --> 遠(yuǎn)程版本庫

工作區(qū):文件的增加,修改奕筐,刪除操作都在工作區(qū)執(zhí)行

暫存區(qū):文件修改后且add后,到暫存區(qū)

版本庫:文件commit后办成,到版本庫

遠(yuǎn)程倉庫:本地版本庫的文件push到遠(yuǎn)程倉庫怔毛,從遠(yuǎn)程倉庫pull/fetch文件到本地

HEAD保存的是最后一次提交點(當(dāng)前)奸晴,指向當(dāng)前工作的分支

HEAD^上一個版本

HEAD^^上上個版本

HEAD~10上10個版本

2.配置用戶名及郵箱

git config --global user.name 'wudaxun' 使用域賬號

git config --global user.email '522864637@qq.com'使用公司郵箱

3.配置ssh

為了避免每次提交代碼都需要 輸入賬戶名和密碼

運行以下命令

ssh-keygen -t rsa -C '522864637@qq.com' 一般建議乙帮,遠(yuǎn)程倉庫的 綁定的郵箱賬號

然后一路按回車

ssh.png

可以使用任何類型的軟件打開該文件裹赴,推薦可以使用記事本求摇, 復(fù)制其中的代碼

打開gitee海蔽,找到設(shè)置 - 安全設(shè)置 - ssh公鑰 - 填寫信息即可

ssh-公鑰.png

4.基本的操作

1.查看配置信息
git config -l

2.初始化倉庫(本地倉庫)
git init

3.克隆遠(yuǎn)程代碼
git clone url

3.拉取遠(yuǎn)程代碼
git pull 相當(dāng)于 git fetch 和git merge

5.4.從其他分支合并代碼到當(dāng)前分支
git merge branch-name

4.比較文件
git diff [filename]

4.添加文件
git add [.|filename]

5.提交文件
git commit -[a]m ‘備注信息’

6.查看倉庫狀態(tài)git status
git status

On branch master 處于master分支Initial commit 初始化提交Untracked files: 未跟蹤的文件
  (use "git add <file>..." to include in what will be committed) 使用add命令來添加文件
nothing added to commit but untracked files present (use "git add" to track) 沒有提交但未添加文件
(用“git add”追蹤)

7.查看日志
git log

commit cbc220915fa1039e475b7865cc05bc42c6a5e826 提交的編號Author: huz02 <huz02@vanke.com> 作 者
Date: Tue Nov 28 14:23:10 2017 +0800 提交日期
     add test.txt 提交的內(nèi)容(添加test.txt文件) git log --pretty=oneline 格式化查看日志

8.查看某個提交修改的內(nèi)容
git show commitID

12.查看某個文件修改記錄
git log -p filename

5.分支管理

查看分支
git branch -a // all 全部分支
git branch -r // remote 遠(yuǎn)程分支
git branch -l // local 本地分支

創(chuàng)建分支
git branch branch_name

切換分支
git checkout branch_name

創(chuàng)建分支并切換到分支
git checkout -b new_branch (默認(rèn)為空嘱能,從master分支拉取代碼)

刪除分支装蓬,如果正在當(dāng)前分支屡久,則不能刪除
`git branch -d branch_name

刪除遠(yuǎn)程分支
git push origin --delete branch_name

合并自分支代碼唇聘,先切換到master分支
git checkout master 切換到主分支

git merge sub_branch 合并sub分支代碼到主分支

git merge sub

Updating 5ce93f7..b59cc48 Fast-forward

 hahaha.txt | 17 ++---------------

 1 file changed, 2 insertions(+), 15 deletions(-)

注意:Fast-forward   表示快速合并(將master的指針指向brh)么介,不會產(chǎn)生新的commit  id帘撰,只是利用了子分支 的commit id繼續(xù)操作

注意:如果在子分支修改了代碼唤衫,未commit就切換到master,master也會顯示文件被修改了   推送分支代碼到遠(yuǎn)程分支

git push origin master
git push origin sub_branch 推送sub分支

推送本地分支到遠(yuǎn)程做粤,如果遠(yuǎn)程分支沒有怕品,則使用下面命令
git push --set-upstream origin invoice

5纹安、代碼回退

  1. 修改本地文件厢岂,還未add操作,注意:所有修改將丟失
    git checkout -- filename

  2. 添加新文件且執(zhí)行了add,想返回未add狀態(tài)郭赐,保留修改的把內(nèi)容
    git reset HEAD filename

  3. 如果文件被刪除后,想要恢復(fù)源文件
    git checkout HEAD -- filename

  4. 文件執(zhí)行了commit后替蔬,想回到上一個版本(log會被刪除)
    git reset --soft commit_id 回退到制定版本酷麦,回到add后,commit前的代碼
    git reset commit_id 回退到指定版本修改后喉恋,回到修改后沃饶,add前的代碼(默認(rèn)--mixed,可省略)
    git reset --hard commit_id 回退到指定版本轻黑,回到修改前的代碼

6.如何團隊操作

組長第一次

// 1.創(chuàng)建一個項目  -- gp-4-git-course  - 初始化項目git
cd gp-4-git-course
git init

// 2.添加一個文件  test.md.  ---   git course
git add .
git commit -m '初始化項目'

創(chuàng)建遠(yuǎn)程倉庫 - gp4-test (分為git協(xié)議和https協(xié)議糊肤,如果配置過ssh,默認(rèn)就是選中ssh)

git remote add origin git@gitee.com:daxunxun/gp4-test.git

git push -u origin master  // -u 只有在第一次提交代碼時才會添加

給當(dāng)前的項目添加項目組成員

當(dāng)前項目 - 管理 - 倉庫成員管理 - 添加倉庫成員 - 建議全部添加為 管理員氓鄙,復(fù)制鏈接馆揉,發(fā)給隊友,隊友同意之后即可加入

組員第一次

// 1.同意加入項目組
// 2.找到自己的代碼管理文件夾
// 3.克隆遠(yuǎn)程的倉庫   選擇ssh 的克隆地址
git clone git@gitee.com:daxunxun/gp4-test.git

// 4.git默認(rèn)是master分支抖拦,開發(fā)人員不可以在master分支直接開發(fā)

git checkout -b 'adev'
// 5.編寫代碼
// 6.提交代碼
git add .
git commit -m 'a 開發(fā)的*** 功能實現(xiàn)'
// 7.提交到遠(yuǎn)程的adev分支
git push origin adev
// 8.第一天的活結(jié)束

如果組長也是要寫代碼升酣,參考組員的操作

git checkout -b 'testdev'
// 編寫代碼
// 提交代碼
git add .
git commit -m 'test 開發(fā)的*** 功能實現(xiàn)'
git push origin testdev

組長負(fù)責(zé)合并代碼

// 一定要切換到master分支
git checkout master   
// 合并 自己分支代碼----- 
git pull origin testdev 
git add .
git commit -m '合并testdev分支代碼'

// 合并其他分支代碼
git pull origin adev
// 此時可能會有代碼的沖突問題,建議手動修改沖突
git add .
git commit -m '合并adev分支代碼'
git push origin master

// 合并完成态罪,切回自己的分支
git checkout testdev
// 拉取最新的代碼
git pull origin master
// 開發(fā) 提交 合并 噩茄。。向臀。巢墅。

組員得知代碼合并完成

git pull origin master

// 開發(fā) 提交
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子君纫,更是在濱河造成了極大的恐慌驯遇,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓄髓,死亡現(xiàn)場離奇詭異叉庐,居然都是意外死亡,警方通過查閱死者的電腦和手機会喝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門陡叠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肢执,你說我怎么就攤上這事枉阵。” “怎么了预茄?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵兴溜,是天一觀的道長。 經(jīng)常有香客問我耻陕,道長拙徽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任诗宣,我火速辦了婚禮膘怕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘召庞。我一直安慰自己岛心,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布裁眯。 她就那樣靜靜地躺著鹉梨,像睡著了一般讳癌。 火紅的嫁衣襯著肌膚如雪穿稳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天晌坤,我揣著相機與錄音逢艘,去河邊找鬼。 笑死骤菠,一個胖子當(dāng)著我的面吹牛它改,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播商乎,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼央拖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鲜戒,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤专控,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后遏餐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伦腐,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年失都,在試婚紗的時候發(fā)現(xiàn)自己被綠了柏蘑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡粹庞,死狀恐怖咳焚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情庞溜,我是刑警寧澤黔攒,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站强缘,受9級特大地震影響督惰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜旅掂,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一赏胚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧商虐,春花似錦觉阅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叮趴,卻和暖如春割笙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眯亦。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工伤溉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妻率。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓乱顾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宫静。 傳聞我的和親對象是個殘疾皇子走净,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 本地折騰 切換到某個目錄下券时,將此目錄創(chuàng)建為倉庫:git init 將文件添加至倉庫:git add filenam...
    jackie_shawn閱讀 338評論 0 0
  • 常用客戶端:Gitkraken, Fork伏伯, Github 客戶端 (一) Git 命令 1. 初始化 Git 進...
    JacobLi閱讀 243評論 0 0
  • Source code control 一直是軟件開發(fā)過程中重要的環(huán)節(jié)革为,從最初的純文件備份,到使用工具進行管理舵鳞。S...
    ScottX閱讀 1,591評論 0 15
  • 1. git簡介 工作區(qū):本地電腦存放項目文件的地方震檩; 暫存區(qū):在使用git管理項目文件的時候,其本地的項目文件會...
    前端小兵閱讀 276評論 0 1
  • Git git的工作流程 基本流程 git pull 一、Git的安裝 https://git-scm.com/d...
    阿登20閱讀 305評論 0 0