git常用命令

git的基本設(shè)置

設(shè)置名稱與郵箱

首先我們對 Git 進(jìn)行用戶名和郵箱進(jìn)行設(shè)置,請參照下面格式,替換為你自己常用的用戶名和郵箱來完成設(shè)置:

git config --global user.name "Your Name"
git config --global user.email your@example.com

解釋: --global 選項(xiàng)代表對 Git 進(jìn)行全局設(shè)置。

接下來設(shè)置 Git 推送分支時(shí)相關(guān)配置:

git config --global push.default simple

全局代理(通常與VPN設(shè)置配合)

//關(guān)閉全局代理
git config --global --unset https.proxy
git config --global --unset http.proxy

//設(shè)置全局代理 (這里以shadowsocks設(shè)置為例)
git config --global https.proxy socks5://127.0.0.1:1086
git config --global http.proxy socks5://127.0.0.1:1086

從遠(yuǎn)程倉庫clone(下載)項(xiàng)目

git clone http://172.28.160.251/hament/gtest.git

執(zhí)行命令后會一般會提示輸入賬號和密碼

然后模擬修改

cd gtest 
touch README.md    //創(chuàng)建一個(gè)文件
git add README.md    //把文件納入版本管理
git commit -m "add README"  // 提交修改
git push -u origin master   // 推送到 遠(yuǎn)程服務(wù)器的主分支(master)

創(chuàng)建本地倉庫

  1. 先切換到某個(gè)目錄
git init 
  1. 把文件納入管理
$ git add -A //保存到暫存區(qū)
  1. 提交
git commit -m "提交描述"
  1. 查看日志
git log

如果想查看某次commit的信息, 則在命令后加上 commit版本號

  1. 添加遠(yuǎn)程倉庫并推送
$ git remote add origin git@github.com:your_username/hello_laravel.git //以github為例
$ git push -u origin master

創(chuàng)建分支

git checkout master //切換到基于哪個(gè)分支創(chuàng)建
git checkout -b sign-up // 建立名為sign-up的分支

git checkout -b sign-up master

刪除分支

$ git branch -d 分支名稱

合并分支

git checkout master //目標(biāo)分支
git merge sign-up // 選擇被合并的分支

分支合并完通常會有文件沖突,需要手動挨個(gè)解決沖突文件,然后重新把沖突文件納入版本管理并提交

#解決沖突文件后需要重新納入版本管理
git add a.txt 
git add b.txt
git commit -m "沖突解決"
git push 

分支對比

git diff branchA branchB
git diff branchA branchB  > d:/diff/exportname.diff //輸出日志

恢復(fù)到最后一次commited

git checkout -f

版本回退

#回退所有內(nèi)容到上一個(gè)版本 
git reset HEAD^ 
#回退a.py這個(gè)文件的版本到上一個(gè)版本 
git reset HEAD^ a.py 
#向前回退到第3個(gè)版本 
git reset –soft HEAD~3 
#將本地的狀態(tài)回退到和遠(yuǎn)程的一樣 
git reset –-hard origin/master  // Mac 要兩個(gè)-
#回退到某個(gè)版本 
git reset 057d 
#本地倉庫回退到某個(gè)版本  
git reset –-hard bae168  // Mac 要兩個(gè)-

把任意一次/多次的commit作用到當(dāng)前分支上

該功能可以解決跨分支局部文件合并/修改

應(yīng)用場景: 如果你的應(yīng)用已經(jīng)發(fā)布了一個(gè)版本2.0, 代碼分支叫release-2.0, 現(xiàn)在正在開發(fā)3.0, 代碼的分支叫dev-3.0. 那么有一天產(chǎn)品說, 要把正在開發(fā)的某個(gè)特性提前上線, 也就是說要把dev-3.0分支上的某些更改移到2.x的版本上

基于release-2.0分支新建分支release-2.1, 并且到新創(chuàng)建的分支上

git checkout -b release-2.1 release-2.0

將dev-3.0分支上的某些commit在release-2.1分支上重演

git cherry-pick dev-3.0分支的某些commit-hash

如:

git cherry-pick  
20c2f506d789bb9f041050dc2c1e954fa3fb6910 
2633961a16b0dda7b767b9264662223a2874dfa9 
5d5929eafd1b03fd4e7b6aa15a6c571fbcb3ceb4

多個(gè)commit-hash使用空格分割, commit-hash最好按提交時(shí)間先后排列, 即最先提交的commit放在前面.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我的常用: ===================================** 撤銷工作修改:**1、gi...
    ddai_Q閱讀 896評論 0 5
  • 分布式版本管理工具 git屬于分布式 svn集中式 git安裝 git初始化一個(gè)倉庫 其實(shí)就是創(chuàng)建了一個(gè).git隱...
    SnowDragonYY閱讀 1,586評論 0 0
  • 文/岑嵐 文章目錄:如果時(shí)光不記得——目錄 前情回顧:如果時(shí)光不記得(八) chapter9 我的周末時(shí)間分配很均...
    岑嵐閱讀 1,100評論 0 7

友情鏈接更多精彩內(nèi)容