創(chuàng)建第一個項目
1、在碼云上創(chuàng)建一個項目 Sunny(隨意)
2、安裝GIT ,配置git
`git config --global user.name "你的名字或昵稱"`
`git config --global user.email "你的郵箱"`
3、在本地創(chuàng)建一個目錄 D:/Sunny
4、打開git cmd,切換到上面的目錄,完成本地項目初始化
git init
git remote add origin <你的項目地址> //https://gitee.com/你的碼云用戶名/Sunny
5、第一次提交項目
git pull origin master //更新
git add .//或者 git add 文件名
git commit -m '添加注釋'
git push origin master //上傳
SSH
因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協(xié)議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。
- 創(chuàng)建SSH Key
ssh-keygen -t ras -C "[youremail]"
在用戶下會生成.ssh目錄,目錄下會有id_rsa和id_rsa.pub這兩個文件。id_rsa.pub是公鑰,另外一個是私鑰。 - 設置遠程倉庫里的SSH Key
在設置中,添加上公鑰內容
Git概念
-
工作區(qū)和暫存區(qū)
git add就是將文件修改的內容從工作區(qū)添加到暫存區(qū)
Git基本操作
-
從碼云克隆項目
git clone 遠程倉庫地址
-
修改倉庫名
一般來說 默認的倉庫名都是origin
git remote rename '舊名字' 新修改的名字
-
查看當前倉庫對應的遠程倉庫地址
git remote -v
-
關聯(lián)倉庫
git remote add origin [地址]
-
推送
git push -u origin master
(第一次推送當前分支master與遠程倉庫的master分支建立追蹤關系,建立之后,使用git push/pull命令會自動推送/更新追蹤關系的遠程分支)
git push origin master
- 從遠程更新下載:
git pull
( 如果git pull提示no tracking information,則說明本地分支和遠程分支的鏈接關系沒有創(chuàng)建) -
提交
git add [fileName]提交到緩存區(qū)
git commit -m "[msg]"提交
-
刪除
git d [fileName]
刪除文件:git rm [fileName]
-
分支
本地創(chuàng)建切換分支:git checkout -b [name]
(上面的句子包括以下兩個操作)
創(chuàng)建分支:git branch [name]
切換分支:git checkout [name]
查看所有分支: git branch
查看所有分支的版本信息: git branch -v
合并分支:git merge [name](合并分支時候,GIT會使用Fast forward模式,刪除分支后,會丟掉分支信息。)
普通合并分支:git merge --no-ff -m "[msg]" [name](在合并時,會生成新的commit,可以保留分支的歷史記錄)
刪除分支:git branch -d [name]
強制刪除未合并的分支:git branch -D [name]
解決沖突(當git無法自動合并分支的時候,需要解決沖突在提交)
查看分支合并圖:git log --graph
查看本地分支和遠程分支的追蹤關系: git branch -vv
克隆的時候默認克隆master分支,其他分支需在本地創(chuàng)建并與遠程關聯(lián):git checkout -b [name] origin/[name]
設置本地分支與遠程分支的鏈接:git branch --set-upstream-to=origin/[name] [name]
-
stash
隱藏現(xiàn)在的工作區(qū):git stash(可以用于修復bug)
顯示stash中隱藏的工作區(qū):git stash list
恢復隱藏的工作區(qū):git stash apply ([listName])
刪除stash中儲存的工作區(qū):git stash drop
恢復并刪除: git stash pop
-
標簽管理
創(chuàng)建標簽:
1、git tag [tagName]
2、git tag -a [tagName] -m "[tag desrible]"
3、git tag [tagName] [commitId]
羅列標簽:git tag
查看標簽信息:git show [tagName]
刪除標簽:git tag -d [tagName]
推送標簽到遠程庫:
1、git push origin [tagName]
2、git push origin --tags
推送到遠程后刪除標簽:
(先刪除本地的標簽)
git push origin :refs/tags/[tagName]
-
版本
版本回退:
1、git reset --hard [commitId]根據commit號來回退
2、git reset --hard HEAD~[number] 回退至上N個版本
查看歷史命令:git reflog
丟棄工作區(qū)的修改:git checkout -- [file]
丟棄緩存區(qū)中的內容:git reset HEAD [file]
-
日志
git log
簡化log:git log --pretty=oneline