- Continuous Integration,Delivery,and Deployment
- Sander Rossel
- 312字
- 2021-07-02 15:42:16
Committing and pushing
Once you have staged the changes you want to commit, you can proceed with the actual commit. Committing your changes will write them to the history of your local project. Your changes are more or less cast in stone. You can commit as much as you like, but remember that a commit is only local. To actually push your work to the server so others can get it too, you must push your commits using the git push command. When you push your commits, three things can happen. First, your changes are pushed and everything is fine. Second, your changes are pushed, but others have also pushed changes to the same files resulting in a merge conflict that Git can resolve. Third, a merge conflict that Git cannot resolve requires you to manually change your files and pick between your changes or those of your coworker. In case of a merge, an extra commit will be created (on your name) that contains the merge.
Merge conflicts can be a real pain in the behind, so be sure to keep commits small and pull regularly. Whenever you do have a merge conflict, despite all your best efforts, you must edit the file manually and simply stage it when you are done. A conflict looks as follows:
<<<<<<< HEAD
These are my local changes.
=======
Remote changes.
>>>>>>> 449d9120c205609132e0983230fa48f5629dc41c
To clear that up, I literally typed These are my local changes on the same line that someone else typed Remote changes. Git cannot decide whether both lines should stay; if so, in what order; or if one should overwrite the other. Besides manually editing your conflicted files, you can also keep your own changes or the changes of them:
git checkout --ours filename
[or]
git checkout --theirs filename
git add filename
Staging your file will mark it as resolved. After all the conflicts have been resolved, you can continue your push.
- Game Programming Using Qt Beginner's Guide
- Microsoft Dynamics 365 Extensions Cookbook
- 從0到1:HTML+CSS快速上手
- Mastering Kali Linux for Web Penetration Testing
- Python算法指南:程序員經(jīng)典算法分析與實(shí)現(xiàn)
- Visual Basic程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)(第二版)
- Extending Puppet(Second Edition)
- Android移動開發(fā)案例教程:基于Android Studio開發(fā)環(huán)境
- R數(shù)據(jù)科學(xué)實(shí)戰(zhàn):工具詳解與案例分析
- 編程可以很簡單
- 計(jì)算機(jī)應(yīng)用技能實(shí)訓(xùn)教程
- Learning Nessus for Penetration Testing
- 精通Spring:Java Web開發(fā)與Spring Boot高級功能
- IBM DB2 9.7 Advanced Application Developer Cookbook
- JSP大學(xué)實(shí)用教程