0.生成ssh(具體操作看SSH界面里的生成密鑰說明)
在git bush中輸入
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
命令來創建ssh密鑰(具體到每個人的郵箱)
會提示保存密鑰的文件(公鑰),鍵入回車,y回車,可以不設置密碼,成功生成密鑰
大概如下圖(這張圖ssh-keygen應該改成上面的代碼)
生成的ssh公鑰去之前設置的地址(//.ssh/id_rsa
)中查找pub文件,然后把pub文件用記事本打開,復制到ssh需求處
1.在相應平台上新建倉庫,然后按照給出的代碼操作進行(在需要提交到倉庫的文件夾中右鍵進行gitbush)
首先要進行git的全局設置,這一步在git bush中進行;
設置完畢后可以使用
git config --list
命令來查看是否設置成功(username和email)
2.在vscode終端中如果輸入git命令出現git命令無法識別或不是批處理的情況,需要配置環境變量,具體是在上下兩個Path中加上git安裝目錄下到bin文件夾的位置,即...\Git\bin(具體可以搜一下,網上有相關配置教程)
3.常用命令
git init //初始化本地git倉庫(創建新倉庫)
git status //查看當前版本狀態(是否修改)
git branch //查看本地所有分支
git branch -a // 查看所有分支
git branch -r // 查看遠程所有分支
git branch [name] //創建本地分支
git push origin [name] //創建遠程分支(本地分支push到遠程)
git checkout [name] // 切換分支
git merge [name] //合並分支
git branch -d [name] // 刪除分支
git push -u origin master //推送文件(推送文件要先把代碼庫中的文件pull到本地代碼中,使用git pull --rebase
origin master)
git diff // 查看尚未暫存的更新
git commit //將暫存區里的改動提交到本地版本庫
git commit m "message" // 附帶message提交到HEAD中
git branch -m | -M oldbranch newbranch // 重命名分支
git push並不會把tag標簽傳送到遠端服務器上,只有通過顯式命令才能分享標簽到遠端倉庫。
1.push單個tag,命令格式為:git push origin [tagname]
例如:
git push origin v1.0 #將本地v1.0的tag推送到遠端服務器
git reset //回退到指定提交
修改文件提交流程:
1.git add <filename> //把修改的文件添加到緩存區,或者使用git add *提交全部修改文件
2.git commit -m "代碼提交信息" //該命令實際提交改動,但還未到倉庫
3.git push origin master // 提交到遠程倉庫,master可以換成任何分支
使用簡易指南
一、創建新倉庫
創建新文件夾,打開,然后執行git init以創建新的git倉庫
二、檢出倉庫
執行如下命令以創建一個本地倉庫的克隆版本
git clone /path/to/repository
// 如git clone http://網址/qiansiqing/123
如果是遠端服務器上的倉庫,
git clone username@host:/path/to/repository
三、工作流
本地倉庫由git維護的三部分組成,第一個是工作目錄,持有實際文件;第二個是緩存區(index),臨時保存改動;第三個是HEAD,指向最近一次提交的位置
四、添加與提交
把改動后的文件先放到緩存區
git add <filename> git add *
實際提交改動
git commit -m "代碼提交信息"
現在,改動已經提交到了HEAD,但是還沒有到遠端倉庫
五、推送改動
改動文件已經在本地倉庫的HEAD中了,提交到遠端倉庫
git push origin master //master可以換成要推送的任何分支
如果還沒有克隆現有倉庫,但是想要將倉庫連接到某個遠程服務器,可以使用
git remote add origin <server>
將改動推動到所添加的服務器上
六、分支
分支用來分類,在創建倉庫時,master是默認分支,在其他分支上進行開發,完成后再將它們合並到主分支上
git checkout -b newbranch // 創建一個並切換到newbranch分支
git branch -d newbranch //刪除該分支
除非將分支推送到遠程倉庫,不然該分支在本地,是不為他人所見的
git push origin <branch>
七、更新與合並
要更新本地倉庫至最新改動,執行
git pull
以在本地目錄中獲取(fetch)並合並(merge)遠端的改動
要合並其他分支到當前分支(如master),執行
git merge <branch>
這兩種方法,git都會嘗試自動合並改動。但是自動合並並非每次都能成功,可嫩會導致沖突(conflict)。這時就需要手動修改這些文件來合並這些沖突。改完后,執行如下命令將他們標記為合並成功(解決沖突之后,一定要git add.)
git add <filename>
在合並改動之前,可以查看暫存區的文件,如下
git diff <source_branch> <target_branch>
八、標簽
在軟件發布時創建標簽,執行如下命令以創建一個1.0.0的標簽,
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff是想要標記的ID的前10位,可以如此獲得該ID(也可以用前幾位,只要它是唯一的)
git log
九、替換本地改動
如果寫錯了,可以使用如下命令替換掉本地改動
git checkout --<filename>
此命令會使用HEAD中的最新內容替換掉本地工作目錄中的文件,而已添加到緩存區的改動,以及新文件,都不受影響
如果想要丟棄所有的本地改動與提交,可以到服務器上獲取最新的版本並將本地主分支指向到它
git fetch origin
git reset --hard origin/master
合並工具:beyond compare
把遠程分支merge到本地分支:
0.本地分支上git add . 然后git commit -m ""
1.在本地分支上git pull 遠程分支
2.vscode解決沖突
3.git commit,進入unix界面,在上面寫merge的commit,然后:wq