git的相關(guān)學(xué)習(xí)

一、git的安裝

windows的安裝:git for windows
安裝完成后,在命令行輸入git --version,能看到版本號就代表安裝成功了

二、配置個人信息

需要配置個人的郵箱以及姓名,這樣在執(zhí)行g(shù)it提交時,會引用這兩個信息,可以清楚知道是誰做了提交,配置的語句如下:

git config --global user.email '<郵箱名>'
git config --global user.name '<名字>'

執(zhí)行過命令后,會在系統(tǒng)根目錄下生成.gitconfig,打開該文件后,里面有剛才配置的個人信息

三、常用的git命令

1、git init初始化倉庫
2、git clone <倉庫網(wǎng)址>克隆已有的倉庫
3、git add index.php提交單個文件index.php
4、git add .提交所有的文件
5、git add *.php使用通配符提交某類文件
6、git status查看狀態(tài)
7、git commit -m '第一次提交'將add提交的文件提交到倉庫中
8、git commit -a -m '提交信息'如果要提交的是已經(jīng)提交過的文件,那么就可以不需要再執(zhí)行add命令
9、git rm index.php刪除倉庫和本地的index.php文件
10、git rm --cached index.php只刪除倉庫中的文件,本地項目里的文件依然保留
11、git commit --amend修改最后一次的提交信息
12、git ls-files查看倉庫中的所有文件
13、git push推送
14、git pull拉取

四、日志log

1、git log查看所有的日志(如果過長,按q退出)
2、git log -p -2查看最近的兩次提交日志并顯示文件的差異
3、git log --name-status查看新增,修改,刪除的文件清單
4、git log --oneline一行顯示日志信息

五、配置快捷命令

1、在.gitconfig中配置快捷命令(設(shè)置別名):
通過命令配置

git config --global alias.a add .
//.有特殊意義,需要在文件中手動添加

這樣在.gitconfig文件中就有如下信息

gitconfig.png

參照文件中的格式就可以直接在文件中配置更多的快捷命令
如此配置完成后,git a就相當(dāng)于git add .
2、在系統(tǒng)的.bash_profile文件中配置快捷命令

alias gs="git status" 
alias gc="git commit -m " 
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit  " 
alias gb="git branch" 
alias ga="git add ." 
alias go="git checkout" 

配置完成后,需要重啟命令行終端,windows是git bash,之后在使用gs就相當(dāng)于使用了git status

六、配置忽略文件.gitignore

在配有.git倉庫的目錄下,配置.gitignore文件,在文件中可以直接設(shè)置在提交時需要忽略的文件

a.php
/vendor
.idea
*.txt

如此配置,在提交時就會忽略a.php文件,.idea隱藏文件,vendor目錄(文件夾)以及所有的txt文件

七、分支

本地只有在第一次提交完成(即git commit -m)之后,才會有分支master
1、git branch查看所有的分支
2、git branch admin創(chuàng)建admin分支
3、git checkout admin切換到admin分支
4、git checkout -b b創(chuàng)建并切換到b分支
5、合并分支,如下是將admin分支合并到主分支master上,

git checkout master
git merge admin

6、git branch -d admin刪除已合并的admin分支
7、git branch -D admin刪除未合并的admin分支
8、git branch --no-merged查看未合并的所有分支(必須在主分支下才能查看)
9、git branch --merged查看已合并的所有分支

沖突

在分支合并時可能會產(chǎn)生沖突,因為不同分支修改了同一文件或者是不同開發(fā)者修改了同一分支的文件,這時候需要手動修改沖突的文件,修改完成后執(zhí)行git add .以及git commit -m

八、暫存工作狀態(tài)

需要暫存工作狀態(tài)的原因:比方說目前在分支1下開發(fā),但這時候需要到分支2下開發(fā),而分支1下做的工作還不能提交,就需要將分支1下的工作狀態(tài)暫存起來,在分支2下完成開發(fā)后再回到分支1下取出暫存的狀態(tài)繼續(xù)開發(fā)
在暫存前需要先git add .提交一下,但不要git commit -m
1、git stash暫存工作狀態(tài)
2、git stash list查看暫存列表
3、git stash apply應(yīng)用最近的一次暫存
4、git stash save ''暫存工作狀態(tài)并添加暫存信息
5、git stash apply stash@{2}應(yīng)用暫存列表中的stash@{2}這一個暫存
6、git stash drop stash@{1}刪除暫存列表中的stash@{1}這一暫存,刪除之后,之后的暫存都會順次向前移
7、git stash pop應(yīng)用最新的暫存并刪除該暫存

九、標(biāo)簽

可以給某一版本添加標(biāo)簽,比方所版本號
git tag v1.0添加標(biāo)簽
git tag查看標(biāo)簽

十、發(fā)布

git archive master --prefix='<目錄>/' --format=zip > <打包后的文件名>.zip

該命令可以將master分支下的代碼生成壓縮包供上傳服務(wù)器或別人下載使用

十一、碼云等在線倉庫

1、在碼云上創(chuàng)建項目

2、生成ssh密鑰

ssh-keygen -t rsa一直按回車直到結(jié)束,然后會在~/.ssh/目錄下生成密鑰id_rsa以及公鑰id_rsa.pub,然后在碼云等在線倉庫下添加公鑰id_rsa.pub里面的內(nèi)容

碼云上的添加公鑰.png

3、將碼云上創(chuàng)建的項目克隆到本地

git clone <項目的ssh地址>

4、本地修改提交后通過git push推動到在線倉庫上

5、不經(jīng)過git clone,直接就將本地的項目推送到碼云等在線倉庫中

①首先在碼云上添加自己的ssh公鑰,通過ssh-keygen -t rsa生成
②在碼云上生成一個空的項目
③在本地創(chuàng)建本地庫,并完成初始化提交

git init
touch README.md
git add .
git commit -m '本地倉庫初始化提交'

④給本地倉庫添加遠(yuǎn)程倉庫
git remote add origin <碼云上創(chuàng)建的空的項目的ssh地址>
⑤查看遠(yuǎn)程倉庫
git remote -v
⑥將本地數(shù)據(jù)推送到遠(yuǎn)程倉庫
git push -u origin master
注:如果是通過git clone克隆的倉庫,本地和遠(yuǎn)程已經(jīng)關(guān)聯(lián),可直接通過git push推送

6、git pull

拉取遠(yuǎn)程主機的某個分支的更新,并與本地的某個分支合并
git pull origin ask:ask拉取關(guān)聯(lián)的遠(yuǎn)程主機的ask分支與本地的master分支合并
git pull origin ask拉取關(guān)聯(lián)的遠(yuǎn)程主機的ask分支與當(dāng)前的分支合并
git pull遠(yuǎn)程的分支與本地當(dāng)前的分支同名可以直接拉取

7、git push

git push origin將當(dāng)前分支的內(nèi)容推送到遠(yuǎn)程主機相同分支
git push -u origin master將當(dāng)前分支的內(nèi)容推送到遠(yuǎn)程主機指定的分支上
git push origin --delete ask刪除遠(yuǎn)程的ask分支
git push --set-upstream origin ask關(guān)聯(lián)遠(yuǎn)程的ask分支并推送

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

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

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