常用命令
-
mkdir
创建目录
mkdir test
-
pwd
命令用于显示当前目录 - 返回上一级目录
cd ..
git 本地仓库关联远程仓库
- 使用命令
git remote add origin git@server-name:path/repo-name.git
-
origin git@server-name:path/repo-name.git
改换成自己远程仓库的路径
-
-
git fetch
查询分支 -
git branch --set-upstream-to=origin/remote_branch your_branch
- 其中,
origin/remote_branch
是你本地分支对应的远程分支;your_branch
是你当前的本地分支。
- 其中,
- (执行之上不能解决 在执行此)关联第一次推送master分支所有内容使用:
git push -u origin master
- 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
- 注: 如果出现如下错误
[root@linux1 php]# git push -u origin master
To git@github.com:kangvcar/Results-Systems--PHP.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:kangvcar/Results-Systems--PHP.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 merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
- 原因:
GitHub远程仓库中的README.md文件不在本地仓库中。
- 使用--rebase 参数然后再重新 push 一次即可
git pull --rebase origin master
git push -u origin master
或者
git push -f
git 常用命令
git init
//配置信息
git config user.name manage
git config user.email manage@163.com
//添加项目
git add .
// 提交项目
git commit -m "注释"
// 推送 下拉 项目
git push
git pull
//查看所有版本库日志
git log
git reflog
版本合并
-
git merge
命令用于合并指定分支到当前分支。 -
--no-ff
表示禁用Fast forward
git merge
Fast forward 模式,表示删除分之后,会丢掉分支信息。
如果要强制禁用Fast forward 模式,Git 就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
// 第二种合并分支的方法
git merge --no-ff -m "merge with no-ff" dev
-m 参数表示 提交的内容 dev 代表的分支
准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:
删除本地分支
-
git branch -d
分支名
拉取远程分支并创建本地分支
git checkout -b 本地分支名 origin/远程分支名
版本回退
//回到当前版本,放弃所有没有提交的修改
git reset --hard HEAD
//回到上一个版本
git reset -- hard HEAD^
// 回到之前第3个版本
git reset --hard HEAD~(3)
// 回到指定版本
git reset --hard 版本号
回到根目录 查看所有分支
cd ~
git branch -a
Git忽略规则和.gitignore规则不生效的解决办法
-
Git忽略规则:
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:
#此为注释 – 将被 Git 忽略
*.sample # 忽略所有 .sample 结尾的文件
!lib.sample # 但 lib.sample 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
-
.gitignore规则不生效的解决办法
把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
网友评论