git 命令行下 添加 修改 删除 冲突解决
如果对git命令行不熟悉的话,用git图形界面工具,就比较合适了。建议使用tortoisegit这样的工具,命令行从学习到灵活掌握的时间成本比较高的。
1,添加
# git clone git@192.168.10.202:develop/test.git # cd test # touch test.txt //测试文件 # git add test.txt //git添加文件 # git commit -m 'test' //添加到本地版本库 # git push //push到远程
如果push报错,Perhaps you should specify a branch such as 'master'
解决办法:
# git push origin master //只要这样操作一次,以后就可以用git push
添加文件和添加目录,操作是一样的。
2,修改文件
方法一
# echo "11111111111" > test.txt # git add test.txt && git commit -m 'test2' # git push
方法二
# echo "abc" > test.txt # git commit -am "test3" //所有修改都会提交 # git push
如果有多个文件,只想提交其中的一个或者多个,怎么办呢
# git commit -a //该命令出现以下内容 # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: ab # modified: test.txt //如果只想提交test.txt,只要把该行前的#去掉,保存退出就行了 # git push //退出后,在执行push
3,删除
# git rm ab //如果删除目录的话,加上-r # git commit -am "del" # git push
4,解决冲突
# git push //push不上去 Address 192.168.10.202 maps to unassigned.psychz.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! To git@192.168.10.202:develop/test.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '192.168.10.202:develop/test.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details. # git pull //更新代码,提示冲突 Address 192.168.10.202 maps to unassigned.psychz.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! remote: Counting objects: 5, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. From 192.168.10.202:develop/test 367dad3..5e5640b master -> origin/master Auto-merging test.txt CONFLICT (content): Merge conflict in test.txt Automatic merge failed; fix conflicts and then commit the result. # vim test.txt //修改冲突文件,并保存 # git commit -am "remove conflict" //重新提交到本地版本库 # git push //同步到远程