1.命令行中,輸入 git init
2.將文件夾中的內容全部添加到git管理中 git add .
3.提交 git commit -m 'first commit'
4.連接github倉庫 git remote add origin https://github.com/shench5612390/Test.git%E2%80%9D%EF%BC%88git
5.git push -u origin master
項目提交成功
一、核心操作:
# 1.初始化倉庫,.git目錄默認隱藏,可以通過命令ls -ah顯示
git init
# 2.把文件添加到版本庫,可以一次添加多個文件,git add . 代表把所有文件全部提交 git add 文件名 文件名 # 3.把文件提交到當前分支 git commit -m '本次提交的說明' # 4.把項目提交到(遠程)倉儲 git push
三、解決沖突
# 1.查看遠程分支 git branch -a # 2.查看本地分支 git branch # 3.創建並切換分支 (加-b表示創建並切換) git checkout -b 分支名 # 4.切換回分支 git checkout 分支名 # 5.從主分支里創建新分支 git checkout master -b 新分支名 # 6.合並某分支到當前分支 git merge 分支名 # 7.刪除分支 git branch -d 分支名 git branch -D 分支名 (強行刪除分支)
三、解決沖突
# 情景一 提交或拉取時沖突
git stash
git pull
git stash pop
# 情景二 如果你想完全地覆蓋本地的代碼,只保留服務器端代碼,則直接回退到上一個版本,再進行pull
git reset --hard HEAD^
git pull origin master
# 注:origin master表示git的主分支
# 情景三 分支合並時沖突(當我們git merge 分支名 時)
1.git status (查看發生沖突的文)
2.然后手動合並沖突
3.git add . (添加更改后的文件)
4.git commit -m 'xj' (提交)
四、查看ssh密鑰
# 1.進入.ssh目錄
cd ~/.ssh
# 2.查看id_rsa.pub文件
cat id_rsa.pub
五、克隆遠程項目
git clone 遠程源地址
六、回退某個操作
# 1.查看命令歷史
git reflog
# 2.根據commitID撤銷某個操作
git reset --hard 某個commitId
七、和遠程分支建立關聯
git branch --set-upstream-to=origin/遠程分支的名字 本地分支名
八、刪除文件
# 刪除版本庫中的文件
git rm filename
# 恢復工作區中誤刪的文件
git checkout -- filename
# 注:git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。
九、遠程倉儲
# 1.創建sshkey密鑰
ssh-keygen -t rsa -C "youremail@example.com"
# 2.在遠程倉庫中添加ssh公鑰
# 3.關聯遠程庫
git remote add origin git@server-name:path/repo-name.git
# 4.第一次推送master分支的所有內容,此后只需要使用git push origin master即可推送最新修改
git push -u origin master
十、多人協作
# 1.查看遠程倉儲的詳細信息
git remote -v
# 2.推送本地分支到遠程倉庫,
#1.如果發生沖突,用git pull試圖合並,如果發生沖突則解決沖突,再進行推送
#2.如果git pull后提示no tracking information(沒有追蹤信息),則進行第四項,建立關聯,之后pull,有沖突再合並
git push origin 本地分支名
# 3.在本地創建和遠程分支對應的分支
git checkout -b 本地分支 origin/遠程分支名
# 4.建立本地分支和遠程分支的關聯
git branch --set-upstream 本地分支名 origin/遠程分支名
十一、分支策略
1.master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面干活;
2.干活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合並到master上,在master分支發布1.0版本;
3.每個人都有自己的分支,時不時地往dev分支上合並就可以了
十二、其他
# git fetch和git pull的區別 與git pull相比git fetch相當於是從遠程獲取最新版本到本地,但不會自動merge。如果需要有選擇的合並git fetch是更好的選擇。效果相同時git pull將更為快捷。 # 查看倉庫當前的狀態 git status // 查看提交日志 git log # 回退版本,在git中用HEAD表示當前版本,HEAD^表示上一個版本,HEAD^^表示上上個版本 git reset --hard HEAD^ 或 git reset --hard 3628164 (數字代表log里commit后面的id,只需要填前幾位就可以) # 窗口關閉后回退版本(git reflog用來記錄你的每一次命令) git reflog # 工作區和暫存區 工作區就是你建立的能看見的目錄,.git即為git的版本庫,Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,Git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD。 用git add把文件添加進去,實際上就是把文件修改添加到暫存區; 用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支 # 撤銷修改 1.直接丟棄工作區的修改,用命令git checkout -- file 2.修改添加到了暫存區,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作