Git用法
(输入指令的时候不要带 [ 方括号 ] )
当文件正在工作区或缓存区:
添加到缓存区:git add [要添加的文件,‘ . ’ 为当前文件夹下的所有文件或文件夹]
查看此时缓存区文件的状态:git status
–红色为正处于修改状态
–绿色为已进入缓存状态,如果被修改会立刻变红
提交到本地仓库:git commit -m “关于这次修改的信息”
–如果没有输入-m,会进入一个页面,专门用来填写修改信息,操作与vi修改器类似
当文件正在本地仓库:
查看此时仓库的状态:git log
(最原始的方法表现现在的状态)
------git log --pretty=oneline
------git log --pretty=oneline --abbrev-commit
------git log --pretty=oneline --abbrev-commit --all --graph
删除修改的内容:git reset --hard [这个修改之前最近的一次修改id]
恢复修改的内容:git reset --hard [要恢复的那个修改的id]
–如果不知道那个要恢复的那个操作的id是什么,可以通过:git reflog
查看之前操作的记录
关于分支:
->->->->|==>==>master==>==>|->->->->->->
|==>==>xtijie==>==>|
HEAD->分支名 表示当前指向哪个分支
查看当前分支:git branch
创建分支:git branch [分支名]
切换分支:git checkout [分支名]
创建并切换分支:git checkout -b [分支名]
合并分支:git merge [分支名]
(将这个分支合并到当前分支上)
删除分支:git branch -d [分支名]
–如果需要强制删除:git branch -D [分支名]
在gitee上创建云仓库:
– 步骤:
-
–> 新建仓库(不要初始化)
-
–> 配置ssh公钥(在git中输入:
ssh-keygen -t rsa
) -
–> 一路回车,直到完事
-
–> 查看git生成的公钥(在git中输入:
cat ~/.ssh/id_rsa.pub
) -
–> 在gitee中找到我的用户
-
–> 点击设置
-
–> 左边找到ssh公钥
-
–> 在公钥中输入生成的公钥,保存完事
-
–> 在git中验证远程仓库是否成功 (在git中输入:
ssh -T git@gitee.com
) -
–> 后面输入yes(他是在问你这个仓库是否是第一次仓库)
生成远程仓库的ssh公钥:ssh-keygen -t rsa
查看远程仓库的公钥:cat ~/.ssh/id_rsa.pub
验证gitee上的配置是否成功:ssh -T git@gitee.com
–随后会询问是否在本库中第一次访问gitee,输入:yes
将本地仓库上传到gitee云仓库
– 步骤:
在本地添加远程仓库:git remote add [远程仓库的名称] [远程仓库的url]
–复制仓库中ssh的url地址为此仓库的url
–一般仓库名称为origin(起源)
查看远程仓库:git remote
将本地仓库推向远程仓库:
----git push [远程仓库的名称] [本地分支名]:[远程仓库对应分支名]
强行将代码推向远程仓库:
----git push -f [远程仓库的名称] [本地分支名]:[远程仓库对应分支名]
查看本地仓库的分支与远端仓库的分支是否关联:
----git branch -vv
将本地仓库与远程仓库关联:
----git push --set-upstream [远端仓库名] [本地分支名]:[远程仓库对应分支名]
问题:
-
! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://gitee.com/X_tjie/git-test.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
此时云端仓库有的,本地仓库没有,属于版本冲突.
1.需要先获取云端仓库的所有内容(输入:pull [远程仓库名] [需要获取的远程仓库中的分支])
2.再将自己添加到的新东西再推到远程仓库