對于程序員來說插佛,git再熟悉不過了蚌铜,但是對于很多新手來說,還是不清楚如何自己上傳項目到遠端然后用另一臺電腦繼續(xù)完成你的項目审葬,或者如何和同事通力合作完成一個項目,如果你有這些問題看完就對了,溫馨提示此文章適合小白觀看攀隔。
快捷施法
git clone 你的倉庫地址 //克隆倉庫到本地
git clone https://賬號:密碼@項目地址 //克隆私有項目
舉個例子:
git clone https://JohnGreenn:密碼@github.com/JohnGreenn/Demo.git
git status //查看狀態(tài)
git add . //新增內(nèi)容到暫存區(qū)
git add * //git add * 會忽略.gitignore把任何文件都加入
git commit -m "第一次提交" //提交內(nèi)容到本地
git push origin main (master)//提交內(nèi)容到線上 簡寫 git push
git pull origin main(master) //拉取最新代碼到本地
git branch newbranch1 // 新建分支
git checkout newbranch1 //切換到此分支
git merge newbranch1 //合并分支
git branch -d newbranch1 //刪除本地分支(已合并)
git branch -D newbranch1 //刪除本地分支(未合并)
git push origin --delete newbranch1 //刪除遠程分支
git config user.name //查看用戶名
git config --global user.name "xxx" //切換用戶
git config --global user.email "892538233@qq.com" //切換郵箱
git remote set-url origin 你的項目地址 //更改地址
git gc //清理不必要的文件并優(yōu)化本地存儲庫
報錯處理
OpenSSL SSL_read: Connection was reset, errno 10054
OpenSSL SSL_connect: Connection was reset in connection to github.com:443
git config --global http.sslVerify "false"
下面是幾個常用的git配置查看命令:glo
git config --global http.proxy #查看git的http代理配置
git config --global https.proxy #查看git的https代理配置
git config --global -l #查看git的所有配置
實戰(zhàn)演練
1. 新建倉庫
1.在github中新建倉庫
2.輸入倉庫名愚争,勾選“Add a README file”,然后新建倉庫鞍陨。
2. 把倉庫clone到本地
在本地新建一個文件夾 右擊git bash here 沒下載git bash的先百度下載
然后clone你的倉庫地址
git clone 你的倉庫地址
3. 進入本地倉庫,查看狀態(tài)
ls 查看目錄結(jié)構(gòu)
cd git-demo 進入倉庫目錄
git status 查看狀態(tài)
4.創(chuàng)建虛擬同事的本地倉庫
為了模擬同事缝其,設置一個不一樣的文件名。
cd .. //返回上個目錄
git clone 你的倉庫地址 git-demo-collegue
此時你之前新建的文件下多了一個虛擬同事的目錄
到此為止完成了二人合作的架構(gòu)辉懒。
5.自己上傳改動的項目
首先回到自己的目錄
cd ../git-demo
然后,在README.md 增加自己的內(nèi)容:
此時git status可以看到 我的修改記錄抹竹,但是沒有上傳只是做了修改钞楼。
6.把修改的內(nèi)容添加到暫存區(qū):
git add README.md // 簡寫:git add .
此時再看狀態(tài),它綠了,說明已經(jīng)添加到暫存區(qū)
7. 提交暫存區(qū)的內(nèi)容
git commit -m "我的第一次提交" //這是簡便寫法 如果直接git commit的話 搜以下vim的基本用法
這時候你就完成了本地的提交
接下來就是上傳到線上
8.把本地提交傳到遠端
git push origin main // 簡寫git push
- git push origin main指定遠程倉庫名和分支名(推薦使用)
-
git push 不指定遠程倉庫名和分支名 是簡寫
image.png
這時候你再去git線上倉庫看,發(fā)現(xiàn)你的README 已經(jīng)發(fā)生了改變。
image.png
9.同事拉取你的最新改動
先切換到你虛擬同事的目錄,然后把你剛剛的提交拉到同事的本地箕戳。
cd ../git-demo-collegue //切目錄
git pull origin main //拉最新的代碼到本地
這樣同事就拿到了你的代碼。
11.建立branch
比如同事拿到了一個新的需求:新增我的個人資料功能,但他又怕影響到主分支剩拢,所以他可以新建一個分支,等他做完,再進行合并性穿。
git branch newfunction1 //新建分支
git checkout newfunction1 //切換到此分支
此時同事就切換到了這個新的分支,可以進行新功能的編寫了绊含。
10.在新分支新進文件改動
同事在新的分支,新增了一句話。
然后本地提交。
git add README.md
git commit -m "來自同事的第一次提交"
此時同事完成了自己的項目抖誉,并進行了本地提交。
11.同時,你也在main上做出了些改動
這時同事還沒有把自己剛剛做的東西上傳到遠端夺艰,但你這時候也在做自己的任務,比如你新增了一個txt文檔。
cd ../git-demo //先切回自己的目錄
git add log.txt //新增了一個文檔
git commit -m "我的第二次提交" //本地上傳
git push origin main // 推到遠端
此時我完成了,我的log.txt 文件從本地上傳到線上的操作。
12.同事拉取你的代碼
因為同事已經(jīng)完成了他的任務(新增個人資料)憨琳,所以在合并項目之前,先看一下我有沒有提交新的代碼,如果沒有先拉的話绪杏,就會導致同事的項目和我的項目合并失敗拌夏,所以每當上傳新的項目到線上時霹抛,一定要先pull 后push霞篡。
cd ../git-demo-collegue //切回同事目錄
git checkout main //切到主分支
git pull origin main //拉最新的先線上代碼
13.合并
現(xiàn)在顶滩,本地main已經(jīng)是最新的盐欺,就可以把newbranch1 合并到main上來了:
git merge newbranch1 //合并分支
git push origin main //上傳到遠端
此時同事就完成了粉洼,本地分支合并并把自己新增的內(nèi)容上傳到線上的git操作。
這時我和同事通力合作的git協(xié)作就完成了柱衔。
create a new repository on the command line
echo "# TitleX" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/JohnGreenn/TitleX.git
git push -u origin main
push an existing repository from the command line
git remote add origin https://github.com/JohnGreenn/TitleX.git
git branch -M main
git push -u origin main
git ignore
#我用的是這份
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Eclipse project files
.classpath
.project
# Android Studio
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
# Signing files
.signing/
# User-specific configurations
.idea/libraries/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
*.iml
/.gradle
/.idea
/build
*/build
/captures
/.cxx
*/.cxx
/.externalNativeBuild
._*
*.iml
.DS_Store
local.properties