克隆遠程倉庫到本地
git clone git@github.com:TANGKUO/HIS.git #會自動在當前目錄下創建同名的倉庫,然后克隆。遠程倉庫可以是自己的、也可以是他人的
同步更新到遠程倉庫
場景:要把本地倉庫中的文件提交到遠程倉庫中,存儲在遠程倉庫中,或者供其他人使用。
過程:先在github上新建一個同名的倉庫,再把本地倉庫同步到github倉庫中
1、在github上新建一個倉庫
一般都要有個README.md文件。
.gitignore是指定本地倉庫同步到github上時,哪些類型的文件會被自動忽略|不同步|不上傳,github已經給多種語言寫好了模板,我們直接選擇即可。比如java的大致如下:
# Compiled class file *.class # Log file *.log # Package Files # *.jar *.war *.zip *.rar
我們可根據需要修改。
許可證|協議指定他人對這個倉庫可以進行哪些操作。可以點擊右邊的小嘆號查看常用協議的內容。
github會自動把倉庫標識為文件數最多的語言,比如倉庫中.html文件最多,就把這個倉庫標識為html項目;.java文件最多,就把這個倉庫標識為java項目。
如果識別不正確,比如本來是java項目,但用的模板引擎有一大堆html文件,github把倉庫標識為html項目,可以在項目中添加一個.gitattributes文件,和README.md一個級別,
*.html linguist-language=java *.css linguist-language=java *.js linguist-language=java
統計時,把.html、.css、.js文件都算作.java文件
2、添加遠程倉庫
git remote add github git@github.com:chenhongyong/HIS.git #給遠程倉庫起一個別名,常用的別名比如origin、github
盡量使用ssh,因為配置秘鑰后ssh會自動驗證用戶,https需要自己輸遠程倉庫而定用戶名、密碼。
要有遠程倉庫的私鑰|用戶名、密碼。
3、同步本地倉庫到遠程倉庫
git push github master #指定遠程倉庫別名、要同步的本地分支,會將指定的本地分支同步到遠程倉庫
git push master #如果當前倉庫只與一個遠程倉庫關聯,則可缺省遠程倉庫
git push -u github master #如果當前倉庫與多個遠程倉庫關聯,可以用-u指定一個默認的遠程倉庫,后續push未指定遠程倉庫時,默認push至默認的遠程倉庫
4、查看遠程倉庫信息
git remote #只列出遠程倉庫別名
git remote -v #列出遠程倉庫的詳細信息,包括遠程倉庫地址
5、更新本地倉庫
git pull github master:master #從遠程倉庫獲取更新。遠程倉庫名 本地分支:遠程分支。只更新本地對應的分支
git pull 遠程倉庫名 本地分支名 #如果之前該本地分支已經推送到過遠程倉庫,或者從遠程倉庫的某個分支獲取過更新,即本地分支、遠程分支有過關聯|對應關系,可缺省遠程分支名
git pull 遠程倉庫名 #如果分支有過關聯關系,且雙方都只有一個分支,則本地分支名也可以省略
git pull #如果當前本地倉庫只關聯了一個遠程倉庫,或者用-u設置了默認關聯的遠程倉庫,可以缺省遠程倉庫名。這種用得多,平時一個項目哪有多個倉庫、多個分支
git fetch的用法和git pull完全相同,都是從遠程分支獲取更新,不同的是:
git fetch 只是從遠程分支獲取更新,不會將更新自動合並到本地分支中,需要再執行git merge將更新合並到當前本地分支中。
git pull會自動將更新合並到本地倉庫中。
6、移除與遠程倉庫的關聯關系
git remote github #只是移除與本地倉庫、遠程倉庫的關聯關系,不再關聯該遠程倉庫,並不是說物理刪除遠程倉庫