文章目錄
git服務地(gitHub或者自建的GitLab平臺地址)
1.賬號申請
自行完成此步驟,可以根據頁面提示自行盛情
2.登錄密碼修改
3.個人項目相關信息
3.1查看用戶名(請勿隨意修改)
3.2找到我相關的項目
3.3選擇進入想要訪問的項目
3.4 獲取項目下載的地址
- HTTP 下載地址 http://ip/項目組名/工程名.git
- SSH 下載地址 ssh://git@ip:端口/項目組名/工程名.git
http和ssh的地址可以再github上找到
4. http 方式初始下載代碼(Windows 操作)
-
**備註:**這種方式類似svn checkout,僅針對代碼的初次下載
git clone -b V2.9.0 http://ip/工程組名/工程名.git hs-xh-master
-b V2.9.0 下載的分支版本,默認情況下就是master版本
hs-xh-master 本地文件目錄,默認的情況下就是代碼本身的根目錄
- 備註: 密碼不管輸入錯誤還是成功都會被保存(這一點不如svn)
4.1密碼輸入錯誤,提示沒有權限訪問
4.2修改密碼
1.打開控制面板(快捷打開Win+R,輸入control);
2.點擊打開用戶賬戶;
3.點擊打開憑證管理(windows憑證管理欄);
4.普通憑證下拉打開有你已存在的git賬號密碼,刪除或者修改。
4.3密碼輸入成功,開始下載
4.4 url中帶用戶名密碼的形式(不建議使用)
git clone http://username:password@remote
remote 代表http形式的地址的後半部分,除了http://以外的內容
git clone http://tianyang:tianyang@ip/xiehe/xh.git -b 1.1.0
用戶名和密碼裏可能包含特殊字符,需要先進行UrlEncode 處理,否則無法正常識別
5. 代碼更新
git的分支不同於svn,這裏分支和主幹是一個地址,根據參數來區分主幹還是分支
###5.1 進入下載代碼的根目錄
cd ./hs-xh-2.9.0/
5.2 查看目前的代碼的分支情況
git branch -a
git branch -d branchName
刪除本地名稱爲branchName的分支
本地分支 直接分支名稱 temp
- 備註:
- 帶*的爲正在使用的版本,
- 其中master是本地分支,前面的星號*表示正在使用的分支
- 前面帶有remotes的分支都是遠程分支
5.3 遠程代碼更新
git fetch
git fetch origin V2.9.0:temp
在本地新建一個temp分支,並將遠程origin倉庫的V2.9.0分支代碼下載到本地temp分支(臨時)
git diff
git diff brancha branchb
來比較兩個分支的代碼的區別,branchb 默認不填值情況下就是本地在用的分支
解讀: brancha(遠程服務分支V2.9.0) branchb(本地V2.9.0)
brancha 比branchb 少了 紅色行內容;brancha 比branchb 多了 綠色行內容
####git diff 獲取兩個分支的差異文件內容
git diff brancha branchb --name-only
####git diff 獲取兩個分支的差異文件內容並且打包
git diff brancha branchb --name-only |xargs tar -cvf health-resources0424.tar
git checkout -b 本地分支名稱 遠程分支名稱
git checkout -b master origin/master
等價於
git branch dev 本地新建分支
git checkout dev 切換到本地dev 分支
git reset 詳細介紹
git reset --hard HEAD^
回覆代碼到上一個提交版本,–hard參數將會blow out everything.它將重置HEAD返回到另外一個commit
git merge 所選分支必須爲本地分支
git merge brancha branchb
將brancha 的內容合併到branchb,默認不填的情況下branchb 指代本地再用分支,可以不寫
git pull 等價於 git fetch+git merge
git pull <遠程主機名> <遠程分支名>:<本地分支名>
git pull origin V2.9.0:V2.9.0
從遠程V2.9.0分支同步到本地V2.9.0分支
6. 代碼提交到遠程倉庫
git status
查看目前本地git的一個狀態
git add
將變更文件加如本地倉庫,類似於svn 的add file
git add . 或者 git add --all
git commit
代碼提交到本地倉庫
git commit -m "將本地變更內容提交"
git push
將本地代碼分支的更新內容提交到git遠程地址
git push <遠程主機名> <本地分支名>:<遠程分支名>
git push origin V2.9.0:V2.9.0
7.Git 其他操作示例
7.1設置Git全局參數
git config --global user.name "tianyang"
git config --global user.email "[email protected]"
7.2本地存在的目錄提交到Git服務端
Existing folder
cd existing_folder
git init
git remote add origin git@ip:端口/xiehe/hs-xh.git
git add .
git commit -m "新建代碼分支-V2.9.2之前代碼提交到本地倉庫"
git push -u origin master:V2.9.2
##8.Git folk 代碼以後和主幹保持同步更新
8.0 git 下載以後的新的代碼
git clone newUrl
8.1 git remote add 添加新的遠程倉庫地址
git remote add yt-pay-resc ssh://git@ip:端口/pay/yt-pay.git
8.2 git 選擇源分支進行更新
git pull yt-pay-resc
8.3 標準做法參考5.3進行分支合併
由於目前協和項目只會使用第三方的代碼,而不會去修改,每次只需要下載新的分支代碼然後遠程新建新的分支
8.3.1 本地根據選定的遠程倉庫新建指定名字的分支
git checkout -b 3.2.32-resc yt-pay-resc/3.2.32
8.3.2 將本次的新分支和遠程新分支關聯(遠程倉庫新建分支)
git push origin 3.2.32-resc
8.4 將標記代碼變成新的分支
8.4.1 查看全部遠程分支
git ls-remote
git tag
8.4.2 本地新建分支(對應遠程的標記)
git checkout -b 3.2.34.5-hotfix-xh 3.2.34.5 或者標記的id 都可以
8.4.3 將本次的新分支和遠程新分支關聯(遠程倉庫新建分支)
git push origin 3.2.34.5-hotfix-xh