Git基本操作。一篇解決

Git

git的工作流程

image.png
image.png

基本流程

image.png

git pull

image.png

一疮方、Git的安裝

https://git-scm.com/download/win 下載地址

image.png

GITHUB下載比較慢拄显,我們可以去國內(nèi)鏡像下載 https://npm.taobao.org/mirrors/git-for-windows/

下載之后一直下一步安裝完即可。

安裝完成后案站,郵件會多出來2個(gè)git開頭的選項(xiàng)

image.png

雙擊GIt Bash Here. 在這種命令窗口下可以使用linux命名躬审。

出現(xiàn)如下畫面就可以輸入git命令了

image.png

命令

1. git init

git init xxx初始化 新建立一個(gè)代碼倉庫

image.png

然后adeng文件夾下面會多出來一個(gè).get的文件夾

image.png

.git 文件夾下面有如下文件 .git下面的文件不要刪棘街,刪了就不會被管理了

image.png

2. git add .

git add a.txt將a.txt文件提交到管理區(qū)。git status查看狀態(tài) 文件是綠色表示在暫存區(qū)承边。紅色表示未被管理遭殉。如下圖:

image.png

3. git commit -m "本次提交說明"

git commit 提交到版本庫

image.png

第一次使用git commit -m "xxx"會出現(xiàn)如下畫面

git config --global user.name "這里是你的github用戶名"

git config --global user.email xxx@xxx.com(你的郵箱)

image.png

怎么解決呢:

一次輸入兩行命名就行。

再次輸入git commit -m "新增修改a文件數(shù)據(jù)" 就沒有報(bào)錯(cuò)了

image.png

會在用戶目錄下有個(gè).gitconfig文件博助,內(nèi)容就是上面敲的2條命令中的 郵箱和用戶名

image.png

4. git checkout . 當(dāng)前路徑下的文件回滾到提交前版本

上面我修改了a.txt文件的數(shù)據(jù)险污。

image.png

之前是沒有數(shù)據(jù)的。現(xiàn)在a.txt已經(jīng)在版本庫里面了富岳。這時(shí)候執(zhí)行g(shù)it checkout . 就會回到提交前蛔糯。

5.git log 查看版本管理日志

  • git reflog 顯示當(dāng)前分支最近提交
image.png

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

7.git reset --hard 版本

版本號就是commit后面那一串字符,可以不用寫全窖式。如下


image.png

8. 如何忽略文件

  • 新建的空文件夾蚁飒,不會被管理。里面只要加了東西萝喘,git status就會紅色
  • 指定某些文件或者文件夾不被git管理
  • 在項(xiàng)目根路徑淮逻,跟.git文件夾一個(gè)路徑,新建.gitignore文件
  • # 號 是注釋阁簸,沒有用
  • 文件夾名字爬早,表示 此文件夾不被管理
  • 文件夾摸個(gè)文件想忽略 就寫 想忽略的文件路徑,支持通配符*
  • /dist表示根路徑下的dist文件夾启妹,不被管理
  • *.py 表示后綴為py文件的不被管理
  • *.log* 帶有.log的任意文件不被管理
  • !a.txt 除了a.txt不被管理

注意新建.gitignore時(shí)候后面多加個(gè). 不然windows上面會報(bào)錯(cuò)

image.png

.gitignore 創(chuàng)建好了如上圖筛严。

image.png
  • 如下所看到git status c文件有東西的情況也沒變紅。.gitignore這個(gè)文件我們還是要管理的饶米。
image.png

想忽略文件夾下的某個(gè)文件桨啃。直接寫上文件的路徑在.gitignore里面

image.png
image.png

py結(jié)尾的文件沒有提交到暫存區(qū),其他都提交到了暫存區(qū)咙崎。如下圖:

image.png

一般.gitignore如下圖那么去寫

image.png

分支操作

image.png
  1. git branch 查看所有分支优幸,如果是綠的吨拍,表示在當(dāng)前分支上褪猛。
image.png
  1. git branch 分支名 創(chuàng)建分支
  2. git checkout 分支名 切換
image.png
  1. git branch -d 分支名 刪除分支名

注意如果在分支上,是不能刪除的.需要切換到master上在刪除

image.png
  1. git checkout -b 分支名 創(chuàng)建并切換
  2. git branch -a 查看遠(yuǎn)程分支和本地分支
  3. git branch -r 查看遠(yuǎn)程分支
  4. git merge 分支名 把dev分支合并到master分支:切換到master分支,執(zhí)行合并dev分支的命令羹饰。

分支合并注意點(diǎn):

master: 主分支伊滋,主要用來版本發(fā)布。
develop:日常開發(fā)分支队秩,該分支正常保存了開發(fā)的最新代碼笑旺。
feature:具體的功能開發(fā)分支,只與 develop 分支交互馍资。
release:release 分支可以認(rèn)為是 master 分支的未測試版筒主。比如說某一期的功能全部開發(fā)完成,那么就將 develop 分支合并到 release 分支,測試沒有問題并且到了發(fā)布日期就合并到 master 分支乌妙,進(jìn)行發(fā)布使兔。
hotfix:線上 bug 修復(fù)分支

GITEE 賬號注冊

https://gitee.com 注冊就不說了

配置SSH公鑰

登錄gitee--個(gè)人頭像--設(shè)置--ssh公鑰

image.png

如何生成公鑰步驟:

  1. 在個(gè)人用戶目錄【C:\Users\xxx】下簡歷一個(gè).ssh的目錄。創(chuàng)建目錄需要輸入.ssh.創(chuàng)立藤韵。

  2. 右鍵git bash here

  3. 輸入 ssh-keygen -t rsa -C "xxxxx@xxxxx.com"生成公鑰和私鑰虐沥。但是我們只要公鑰

image.png
  1. 復(fù)制.ssh文件夾下面id_rsa.pub文件的公鑰粘貼到gitee上面ssh文本框里
  2. 添加后,在終端(Terminal)中輸入
    ssh -T git@gitee.com

詳細(xì)設(shè)置ssh公鑰參考地址:https://gitee.com/help/articles/4181#article-header0

碼云創(chuàng)建一個(gè)自己的倉庫

看圖跟著走吧泽艘,一目了然

image.png

image.png

這樣gitee倉庫就生成好了如下圖

image.png

pycharm繼承GIT

pycharm新建一個(gè)項(xiàng)目欲险。

git clone先拉取gitee上面創(chuàng)建的倉庫地址。

將gitee倉庫的所有文件復(fù)制到新建的項(xiàng)目里匹涮。

image.png

重啟pycharm會發(fā)現(xiàn)多出來如下git在圖標(biāo)

image.png
  • 紅色1.py 表示未被管理的狀態(tài)

pycharm如何提交(相當(dāng)于 git commit -m )

image.png
image.png

提交之后:會圖下圖發(fā)現(xiàn) 沒有任何紅色了

image.png

pycharm終端也可以輸入 git命令進(jìn)行提交 效果一樣

pycharm git push到遠(yuǎn)程倉庫

image.png

1.py 和 2.py成功推送到了遠(yuǎn)程倉庫

image.png

init創(chuàng)建的倉庫添加到gitee

使用url地址添加遠(yuǎn)程庫 git remote add 遠(yuǎn)程倉庫名 url 添加一個(gè)遠(yuǎn)程倉庫

git remote add 遠(yuǎn)程倉庫名 https://gitee.com/name/object_name.git

  • git remote 查看關(guān)聯(lián)的遠(yuǎn)程倉庫的名稱
  • 查看遠(yuǎn)程庫信息:git remote -v
  • 移除和遠(yuǎn)程庫的連接:git remote remove orgin

push推送到遠(yuǎn)程倉庫

  • git push -u origin master 將本地分支的更新全部推送到遠(yuǎn)程倉庫master分支天试。
  • git push origin -d <branchname> 刪除遠(yuǎn)程branchname分支
  • git push --tags 推送所有標(biāo)簽

pulss 拉取遠(yuǎn)程倉庫代碼

  • git pull 拉取遠(yuǎn)程倉庫所有分支更新并合并到本地分支。

  • git pull origin master 將遠(yuǎn)程master分支合并到當(dāng)前本地分支

  • git pull origin master:master 將遠(yuǎn)程master分支合并到當(dāng)前本地master分支焕盟,冒號后面表示本地分支

  • git fetch --all 拉取所有遠(yuǎn)端的最新代碼

  • git fetch origin master 拉取遠(yuǎn)程最新master分支代碼

免密登錄

  • git push -u origin master 這條命令老師要輸入密碼 如何免密秋秤?

1 . cd到home目錄 cd ~
2.創(chuàng)建一個(gè)文件夾 touch .git-credentials
3.vi .git-credentials
輸入 http://{用戶名}:{密碼}@gitee.com github:github.com

  1. .gitconfig下面會多出來
    [credential]
    helper = store
image.png

git bash 過程

image.png

一般的流程

git全局設(shè)置

git config --global user.name "這里是你的github用戶名"   

git config --global user.email "17740808@qq.com"

創(chuàng)建遠(yuǎn)程倉庫

mkdir my_python
cd my_python
git init
touch README.MD
git status
git add .
git commit -m "第一次提交" 
git remote add origin https://gitee.com/name/object_name.git
git push -u origin master
git pull 

創(chuàng)建dev分支,并且切換到dev.

image-20211103135412185

本地分支有master和dev 遠(yuǎn)程這時(shí)候只有dev

image-20211103135642276

這時(shí)候把本地dev分支推送到遠(yuǎn)程dev分支脚翘。git push -u origin dev

image-20211103141047679
image-20211103141242432

刪除遠(yuǎn)程dev 分支 git push -u origin -d dev

image-20211103141556991
image-20211103141624927

git push 默認(rèn)是推送到遠(yuǎn)程倉庫 一摸一樣的分支上面

image-20211103141944380

而遠(yuǎn)程倉庫有master dev兩個(gè)分支灼卢,你拉取代碼之后本地只有一個(gè)master,所以本地git push -u origin 指明遠(yuǎn)程倉庫的分支名 否則會推送到和本地一抹一樣的分支名上面。

分支合并

比如把dev分支合并到master分支来农。先git checkout master 然后在執(zhí)行合并到master分支鞋真,get merge dev

image-20211103143928932

pycharm合并,也是要先切換到master 然后如圖操作

image-20211103153014614

解決版本沖突

先去gitee上面拉取一個(gè)倉庫的代碼

如下圖從python_sduty.倉庫拉取2次沃于。

第一次放在I:\python20\softwaredate\python_sduty

第一次放在I:\python20\softwaredate\python_sduty1

git@gitee.com:adeng520/python_sduty.git

I:\python20\softwaredate\python_sduty1

image-20211103114854732
image-20211103115051196

如圖A B 兩個(gè)開發(fā)涩咖,剛開始一模一樣,都同時(shí)開發(fā)這個(gè)py文件

image-20211103155230062

B開發(fā) 添加了c=3 并且提交了代碼

image-20211103155114796

A開發(fā) 添加了一行 d=5的代碼 如圖

image-20211103155445258

A開發(fā)這時(shí)候繁莹,先pull一下代碼 結(jié)果發(fā)現(xiàn)沖突了

image-20211103155936164
image-20211103160029679

解決完沖突A開發(fā) 繼續(xù)提交了代碼到遠(yuǎn)程倉庫

image-20211103160306570

最后push發(fā)現(xiàn)提交成功了檩互,表示這次沖突完美解決

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市咨演,隨后出現(xiàn)的幾起案子闸昨,更是在濱河造成了極大的恐慌,老刑警劉巖薄风,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饵较,死亡現(xiàn)場離奇詭異,居然都是意外死亡遭赂,警方通過查閱死者的電腦和手機(jī)循诉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撇他,“玉大人茄猫,你說我怎么就攤上這事狈蚤。” “怎么了划纽?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵炫惩,是天一觀的道長。 經(jīng)常有香客問我阿浓,道長他嚷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任芭毙,我火速辦了婚禮筋蓖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘退敦。我一直安慰自己粘咖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布侈百。 她就那樣靜靜地躺著瓮下,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钝域。 梳的紋絲不亂的頭發(fā)上讽坏,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天,我揣著相機(jī)與錄音例证,去河邊找鬼路呜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛织咧,可吹牛的內(nèi)容都是我干的胀葱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼笙蒙,長吁一口氣:“原來是場噩夢啊……” “哼抵屿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捅位,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤轧葛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后绿渣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朝群,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡燕耿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年中符,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片誉帅。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淀散,死狀恐怖右莱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情档插,我是刑警寧澤慢蜓,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站郭膛,受9級特大地震影響晨抡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜则剃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一耘柱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧棍现,春花似錦调煎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谎僻,卻和暖如春娄柳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背艘绍。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工西土, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鞍盗。 一個(gè)月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓需了,卻偏偏與公主長得像,于是被迫代替她去往敵國和親般甲。 傳聞我的和親對象是個(gè)殘疾皇子肋乍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

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